There’s a simple pattern I find immensely useful when writing React applications. If you’ve been doing React for a while, you have probably already discovered it. This article explains it well, but I want to add a few more points. You’ll find your components much easier to reuse and reason about if you divide them into two categories. I call them Smart and Dumb, but I also heard Fat and Skinny, Stateful and Pure, Screens and Components, etc. These all are not exactly the same, but the core idea is similar.