React as a UI Runtime
I think React is a big deal because we can finally think of UIs as pure functions of data.<p>However, the entire mentality of the community is moving towards having behavior tied to specific portions of the tree; in essence it&#x27;s common-practice to have stateful components. With Hooks this is even more the case.<p>Instead, the nature of UIs is that changing something in a part of a UI might and will effect something in a completely different location: when I click the button, open a dialog, show a spinner and reset the user profile screen.<p>The problem with writing stateful components is that the behavior (such as the one above) is <i>tied</i> to the UI representation (at which level of the tree should I write this logic so that it effects all the aforementioned components?).<p>We are essentially going back to tying logic and representation; something that we&#x27;ve been trying to avoid over the past decade or so.<p>I&#x27;m not saying React doesn&#x27;t allow you to do differently; things like global-state (Redux, MobX, etc.) allow you to separate behavior and representation quite well. I&#x27;m more confused about the recent lack of best-practices surrounding this idea of separating logic-and-UI, and instead they&#x27;re pushing towards: &quot;Yeah now with Hooks you can even more easily bundle logic-and-UI together and have them tightly coupled&quot;. Which to me seems really confusing.