I really do think React itself is complex, and its complexity keeps growing. There is a very simple subset, for sure, but all of these are challenging for mere mortals, either to learn or to use effectively:
- Hook rules in general
- Hook semantics for basically everything except useState
- Suspense
- Portals
- Server Components (I know it’s still considered “experimental”, but it’s already in use by large projects/meta-frameworks)
- Even the “new JSX transform” has a couple footguns
Of course you don’t have to use any of those, but for most real world front end projects that would likely mean reaching for ecosystem tools which, as you said, come with their own complexity and choice on a paralyzing scale.
- Hook rules in general
- Hook semantics for basically everything except useState
- Suspense
- Portals
- Server Components (I know it’s still considered “experimental”, but it’s already in use by large projects/meta-frameworks)
- Even the “new JSX transform” has a couple footguns
Of course you don’t have to use any of those, but for most real world front end projects that would likely mean reaching for ecosystem tools which, as you said, come with their own complexity and choice on a paralyzing scale.