Hmm. So, the complaints about React are "no convention over configuration", "we didn't like JSX", "event handlers require binding for `this`", and "trouble finding a correct source of truth" for articles and such.<p>The first two are pretty common. Some people _love_ that React lets you pick and choose the other pieces that you need for your own application, while others hate that React isn't a kitchen-sink-provided framework like Angular. (Relevant HN comment from a while back on "frameworks vs libs": <a href="https://news.ycombinator.com/item?id=10969819" rel="nofollow">https://news.ycombinator.com/item?id=10969819</a> ). Ditto with JSX - some people love that it's almost exactly the same syntax as HTML, while others hate the idea of having anything HTML-like in their components or dislike that it does have a few minor differences from actual HTML syntax.<p>The event handler complaint I find a bit more odd. Admittedly, I never got too deep into "vanilla JS" or jQuery, so I haven't spent too much time writing non-React event handlers, but having to bind methods is very much an artifact of how `this` works in Javascript (especially with classes) and not specific to React.<p>As for a "correct source of truth", well, I have that covered :) I keep a big list of links to high-quality tutorials and articles on React, Redux, and related topics, at <a href="https://github.com/markerikson/react-redux-links" rel="nofollow">https://github.com/markerikson/react-redux-links</a> . Specifically intended to be a great starting point for anyone trying to learn the ecosystem, as well as a solid source of good info on more advanced topics.
You don't have to use 'this' at all in React. I've written about it here: <a href="https://medium.com/@baronmaximilianwilleford/react-without-this-39a76b8f2160" rel="nofollow">https://medium.com/@baronmaximilianwilleford/react-without-t...</a><p>I never use 'this', 'bind', 'apply', 'call', 'class', and only use 'new' to create React components. I find it much easier and more fun to work with React as a result. I hope other people would give it a try.
If your team is from a .NET background, you may be better off using something with first class Typescript support.<p>I have been working on a boilerplate that uses VueJS with typescript. It is still reactive. I setup the UI to closely mirror the structure of a .NET MVC app. It is much more intuitive to me coming from a strongly typed OO background.<p>The boilerplate is not fully done yet, but here is the UI portion if you'd like to browse the structure: <a href="https://github.com/caleblloyd/dotnet-core-boilerplate/tree/develop/ui/src" rel="nofollow">https://github.com/caleblloyd/dotnet-core-boilerplate/tree/d...</a>
Pretty interesting read. I have had pretty much the same experience with documentation around react, and although Angular 2/4 documentation can be confusing at times at least you know what you are reading isn't outdated. Also as far as their backend choices I'd like to know why they went with knex over sequelize.
Not super related, we find the type check lib rho-contracts useful <a href="https://github.com/sefaira/rho-contracts.js" rel="nofollow">https://github.com/sefaira/rho-contracts.js</a>.