I use React for reasons other than performance differences I probably won't notice (I feel it performs very well). I find it a very straight-forward and pleasant framework to work with, it dramatically speeds up my work flow and I choose to use it over anything else I've tried so far.
Its power stems from its simplicity and focus. It solves all the problems with rerendering DOM (event handlers?) but avoids imposing non-essential things, like MVC. The fact that it's even compared to MVC Frameworks indicates that you're probably better off without one.
React and its components everywhere approach ends up like a piece of program which is more complicated and cluttered than html templates for web designers to think visually on.
By writing HTML in JavaScript to the Virtual DOM, JSX/React violates the W3Cs guiding principle (and Tim Berners-Lee's), "Rule of Least Power," which recommends choosing the least powerful [computer] language suitable for a given purpose.
React automatically manages UI updates, but this is only true if your UI is extremely basic. React becomes counterproductive when developing apps that aren't mere demos. You inevitably end up having to research how to do basic HTML, CSS and JS all over again within React and its bloated ecosystem.
First, you provide no evidence for their historical intent, and second, the even if they did have a history of intentionally "squashing startups" (whatever that means), I fail to see how that applies to a virtual DOM technology.
williamcotton
Argument Against TheMan
The argument vaguely suggests that React is a tool that Facebook employs to ruin startups, with no evidence and no connection to whether React is hype or useful.
skuro
Once JSX is used to render a tree of nodes on the server, it is then necessary to walk the entire tree to serialize it to HTML for sending to the browser. Building and traversing a tree requires more memory and CPU than just running a program that renders (complex) HTML in a single pass.
Programmers accept React as useful because it works after accepting its unnecessary complexity. All React behavior can be replaced with leaner, faster, better written OO JavaScript. Almost no JS-as-a-primary-language programmers understand OO, therefore we get these odd halfway "frameworks".
Stop comparing React with MVC or any kind of Architecture/Design Pattern and Uni-Directional dataflow. That's completely an invalid point. That's not what React is.
React is trying to remove how the browsers (Virtual DOM, everything is Javascript, CSS driven by Javascript ...) The browser spec is getting better and vendors working together for a better future.
And this,
"All problems in computer science can be solved by another level of indirection"
React brought a fresh idea back to UI software design: If something changes in the model, redraw everything. Don't observe and update specific things as we do in traditional MVC. This is a crazy idea, will this be fast enough? Turns out, it's good enough for most things when using a Virtual DOM.
This is a personal belief that is not necessarily true. For example, there may already be other, less popular, frameworks that may be better and easier to use.
dric39