What I wish I knew about React
(Opinionated post ahead...) React is, imo, garbage, but alas it&#x27;s here to stay -- you know, kind of like Spring or Swing. In 10 years we&#x27;re going to be wondering how the hell we ever used React 8 hours a day way back then. These kinds of markup frameworks&#x2F;libraries were touted as jQuery&#x27;s successor, but, from an architectural point of view, jQuery is by far their superior.<p>&quot;Everything an HTML tag&quot; is an insane mantra to have. As author points out, what in the world does a &lt;Query&gt; tag even do? It might make sense to us because we&#x27;re used to it now, but the semantics of a tag is completely lost in this &quot;new way&quot; of using them (don&#x27;t call it <i>declarative</i> because that&#x27;s <i>not</i> what it technically is; it&#x27;s <i>markup</i>). These days I&#x27;m creating HOCs on top of HOCs to support different behavior (from redux stores, to authentication HOCs, to &quot;don&#x27;t render this thing on the server&quot; async components). It&#x27;s, simply put, a terrible idea. And everyone just bought into it because the guys at Facebook must be really smart.<p>The lifecycle hooks are just confusing and unnecessary. They are side-effects of over-engineering. And to add insult to injury, they change every few versions (so old code will inevitably break on new React versions).<p>SSR. I&#x27;ve brought this point up on HN before, but doing server-side rendering in React is absolutely ridiculous. Every time I need to implement it, I&#x27;m constantly battling async stuff, state management, webpack&#x2F;babel, hot module reloading issues, shimming `window` or `document` on the server side, etc. Boy do I miss the days when I was building stuff in PHP and HTML was simply rendered when I ran the damn thing.<p>It&#x27;s crazy to me that it&#x27;s normal now to have like 3-4 compilation&#x2F;transpilation steps when working on a simple JS-based app.