That almost sounds like a criticism of people who developed React and Redux and went to war against their browser APIs.
That almost sounds like a criticism of people who developed React and Redux and went to war against their browser APIs.
React uses a virtual DOM to avoid DOM unnecessary manipulation, which is slow and error prone. DOM manipulation could be seen as a week point of browsers, and by avoiding it, React is actually a very good ally.
Javascript is a dynamically typed language and offers quite a bit of functional programming functionality itself. React and Redux use that to their advantage, rather than insisting everything be modeled by classes.
While it may be the case that DOM is far from perfect, React is hardly the only way to avoid it. Even if for your use case avoiding DOM manipulation is necessary (which I strongly suspect is not true for like 95% of people who use React as the framework du jour), there seem to be significantly better thought out approaches, like for example Svelte, if you absolutely have to go down the "let's turn our browser workflow into a C-like one" road and churn out an opaque blob of code as a result. That also avoids unnecessary DOM manipulation, but unlike unnecessarily duplicating browser data structures is at least somewhat elegant, just like compilers are considered elegant compared to interpreters.
> React and Redux use that to their advantage, rather than insisting everything be modeled by classes.
Sure, but Javascript is not even based on classes. It traces its heritage back to Self which doesn't even have classes.
I do remember writing complex JQuery components. React felt like a liberation for me...
You are free to choose other approaches for your frontend projects. Just don't expect to get hired into larger teams easily.
And why exactly can't you "figure out the necessary changes" without it?
> Just don't expect to get hired into larger teams easily.
Honestly, I see that as a win-win.