As opposed to… classical OO frameworks where it's easy to dive in and build something that no one in the can maintain six months later? The failing in this this scenario is actually exactly the same as in javascript's unopinionated tools:
Training.
I wouldn't expect a new developer to be adequately prepared to contribute effectively to any system and in some cases I wouldn't expect an experienced developer to contribute effectively to a complex system that they are new to. So what do we do? We standardize training. A walk through the code base that every new developer partakes in upon joining the team. Required reading, a document detailing the architecture of the system with pointers to files which implement the pieces which are critical to understand and code reviews.
Another critical part of training, or perhaps just learning how to get around the world in general, is that at some point you have make a call and use what's right for you. Here's the kicker: this decision that so many want someone else to make for them, the down sides of making that decision poorly aren't that bad. Don't want to spend time forming your own opinions about how to go about using otherwise unopinionated tools? There are opinionated tools for you! Ember and Angular are both great frameworks. If they happen to be wrong for your application will the project just flat out fail? No, of course not. It'll get done. You'll bend the rules(which are only opinions) in a few places and get what you want in the end.
I'm a React user myself but my experience has given me the understanding and empathy to know that it's not for everyone. I wouldn't recommend it to someone who is truly new to JS or software engineering in general. I'd hand them something that would guide them up the ladder.