&gt; The JSX is not the same as it is encapsulated in the render() method withing the JS file.<p>I&#x27;m not quite sure what you mean by this.<p>Anyway, I can&#x27;t help but think that the distaste of the way React does stuff is due to first impressions and not actually using it in a meaningful way. I get where you&#x27;re coming from - when I first saw React I thought the JSX was a terrible idea, raising many of the same concerns you have. I&#x27;m not sure what your experience is with it, but I definitely didn&#x27;t like the syntax at first. Also, although we are talking about react specifically, usually you&#x27;ll be using other libraries along side to it handle the other non-viewy type stuff.<p>But then I actually used it, and lead a reasonably sized team to create a non-trivial web app with it. People who have been programming since before I was born, and people who learnt React for this project. Not all of them love it, but everyone is very productive with it and we all see the benefits it brings and we haven&#x27;t been burned by some &#x27;anti pattern&#x27;.<p>Traditional programming common sense still applies here: bad developers are going to write bad code. When something gets too large, take another look at the problem and perhaps break it down into sub functions. If you&#x27;re repeating thinks, create a common module for it. Nothing really revolutionary about that.<p>I&#x27;m not convinced there&#x27;s no one working on or with React who&#x27;s seen the pain of poor separation of concerns. There are lots of smart people working on React, both at Facebook and in the community, who are just as aware of the programming. &quot;principles [that] have been forged to be tried and true since the 70&#x27;s&quot;<p>Additionally, the Aurelis example we both mentioned isn&#x27;t a webcompoent. It&#x27;s as much of a web standard as React is.