The frameworks I learned coming up pretty much insisted that you learn good design to use them. Yes, they had their share of design flaws and if someone was really determined, they could go against the flow and create truly awful software with them. The issue with React is to develop well-designed software, you have to twist its paradigm until it's almost unrecognizable. If you use React as it's designed to be used, you're going to create an unmaintainable mess. So, where older frameworks gently shepherded those with an interest in good design toward being better engineers, React herds everyone away from being good engineers, whether they're interested in good design or not. Whether that makes it a bad framework depends on where you're sitting. I strongly suspect we'll come to the limits of what engineers who have learned entirely on React will be able to create and maintain, especially with all the factors that are narrowing the pipeline so we're not even getting in new devs of any quality. That means if I'm still interested in this business in 5-10 years and I'm not in a concentration camp somewhere, I should do ok. So for me, it's a fantastic framework.