I still like React but I agree that it has lost its way somewhat. Hooks are very counter-intuitive and I don't think you can really call them a successful abstraction. You just get used to them over time. I don't use this react suspense stuff, nor have I kept up with the latest server side rendering with React tech. It doesn't appeal to me, I only use next + react with the pre-rendered export path and I think that niche still works fantastic. But at some point in the future they may take this away from me.
This tends to happen with frameworks. A new one arises (next / react) and then over the course of many major version updates tends to just scope creep and try to do too much, or is monetized (next) and needs to find ways to justify people spending money on what was previously just free open source code.
I'd say React has become broken. The fact you have to by default wrap everything in a hook and cycle the boilerplate from one component to another is insane. useMemo, useCallback-use this and that. What are we even doing here in the first place? Playing whack-a-hook?
And then you still can end up with stale closures.
The fact they are over-engineering the server-side rendering is a cherry on top. React used to prize itself as the minimalistic solution but now they invent abstractions just to feel smart it seems.
React was such a simple and elegant solution when it started, and it's accreted so many quirks and weird behaviors that are clearly specific to the use cases of the companies leading development.
At this point, I'm not interested in what they're doing anymore. I'm not starting new projects with React, and I'd move away from it for anything small.
This tends to happen with frameworks. A new one arises (next / react) and then over the course of many major version updates tends to just scope creep and try to do too much, or is monetized (next) and needs to find ways to justify people spending money on what was previously just free open source code.