| I've never seen someone being productive with react in a few hours, unless we're talking about very basic, static layouts. Stateful components are still hard to write (but are useful!). Component lifecycle is not trivial and has many traps. Newcomers put the craziest things in render(): side effects, etc. JS or even TS has no way to enforce that render should just return a VNode and do nothing else. Data management is very, very difficult (beginners use props and state interchangeably). Using higher order components or generally writing reusable components with clean APIs is an art in itself. Separation of concerns in React is tricky too, as the community like to say "everything is a component" and this again has many traps. The concept of keys or in general, when a node is reused vs when it's destroyed/recreated is not easily understood by newcomers too. But you HAVE to understand that to do animations, etc. Also, you're productive if you don't care about performances; Once you do, you will be much slower. shouldComponentUpdate, using immutable updates everywhere, not creating lambdas everywhere on each render (idiomatic react), using virtualized lists, etc. Let's not pretend React is very easy. It only is fairly easy if you compare it to something extremely bloated like angular. |
Does React have some gotchas? Yes, but most of the time devs who get caught by those simply haven't read the very short and very good docs.
I've used loads of frameworks in my long programming career and React has been one of the easiest to pick up. Agreed that Angular is a bit of a nightmare. I studied that for months and still feel like a beginner even after building a side project with it.