When you're new it can be hard to tell what to ignore; it makes it tempting to pick a simpler framework that you can entirely grasp. Also any published examples, chatgpt etc won't be aware of the subset you've chosen to use when they're providing examples; they're gonna draw from the full set.
I feel like that's more of an issue with the examples and LLMs? Discounting a framework just because it has ever increasing, completely optional capabilities doesn't compute to me. I'm not convinced there's a real problem.
The problem comes in when the complexity is both not optional and not rational.
Hooks do not work as real functions. They are magic. Why are they magic? I don't know, they certainly don't need to be. What state do they change? I don't know. Why do they look pure but actually mutate the application states? I don't know.
Why is react not reactive? Why is it if I change state the entire website rerenders? I don't know. React has a virtual dom. It knows when I change state because I have to tell it, manually. And then... It doesn't use those.
But it's okay, because you can `useMemo`. Why do I have to do that? I don't know.
Evidently I don't have to do that, because react has a compiler that does it automatically now. Why can't react just do it? I don't know. Clearly it's possible. And also every other framework does it.
There are real functional libraries like Effect, pretend functional library like React and just honest old style library like MobX. I think I know my preferred style.