React Is a Terrible Idea
pandastrike.com
pandastrike.com
However, I definitely agree that a framework that steers programmers toward always combining M,V, and C behaviors in a single component (as React arguably does) is highly problematic.
I highly recommend the link to the MVC pattern article above that explains some of the lost history and greater significance of MVC beyond just "separation of concerns". The core of MVC is much more human-focused: it's about better bridging the gap between the user's mind and the computer, so that the Model feels like an extension of the user's mind as they're using the system.
Note: Somebody posted a link to this article in a comment in an earlier thread (https://news.ycombinator.com/item?id=10606482) but I thought I'd create a new thread about it because although it was written last year, I think it deserves further discussion.
Web apps and software in general should be about separations of concerns not technologies.
When in React you define the structure + the events your component can receive you are wrapping up that concern nicely in a component.
And BY NO MEANS React is solving any data modeling problem, conversely, they have left that part out of the scope of React and some REALLY NICE options have come out. The most famous is Redux.
And by the way React is not a framework is just a library.
https://www.pandastrike.com/posts/20160331-facebook-react-pa...
Technically speaking, with respect to the whole argument that React is “just a library,” part of the problem is that it isn't perceived that way by many developers. The first auto-complete option (for me anyway) when I type “Web Components vs…” is React.
That said, the developer experience around Web Components is meh. Part of our frustration is that it would have been cool to see Facebook invest all the effort into Web Components-based technologies instead of going off on their own.
The author also wrote a library that simplifies using web components and offers an option for integrating with React: https://github.com/richardanaya/webblock/ (Haven't investigated it in detail yet, but it looks promising.)