React is just a library. It is the ideas behind it that are important:<p>a) building web front-ends by dividing them into components which are first-class citizens of the codebase, and can be composed, parameterized and reused, just like pure functions. [1]<p>b) expressing the view as a pure function of state has replaced any need to mutate the DOM manually and think about transitions ($.remove(), $.append() etc.). We need virtual-dom and diffing to be able to pull this off successfully, which makes this abstraction irreducible.<p>c) interspersing content-inside-code (JSX) is better than code-inside-content (template languages like Angular). [2]<p>The recent &#x27;React fatigue&#x27; is due to people trying to figure out how to best manage state within this framework and causing a lot of noise in the process. And that is perfectly fine, but if you are confused by it, just use vanilla React and React&#x27;s immutability helpers, keep all the state in the root node and pass everything down as props {...this.props}, and then when you get a hang of it, hop on to Redux. There is no &#x27;one true way&#x27;; as long as your app works and you can hold it in your head, everything is fine.<p>[1] - <a href="http:&#x2F;&#x2F;www.jasimabasheer.com&#x2F;posts&#x2F;on-react.html" rel="nofollow">http:&#x2F;&#x2F;www.jasimabasheer.com&#x2F;posts&#x2F;on-react.html</a>
[2] - <a href="http:&#x2F;&#x2F;www.jasimabasheer.com&#x2F;posts&#x2F;evolution-of-view-templating.html" rel="nofollow">http:&#x2F;&#x2F;www.jasimabasheer.com&#x2F;posts&#x2F;evolution-of-view-templat...</a>