Things I love:
- All of the view state, event handlers, and markup in a single place. This makes it super easy to reason about.
- Very easy to learn and get up to speed with relative to a full framework. I found it even easier than Knockout which is saying a lot.
- Injectable into a pre-existing project that was not designed around using ReactJS.
Things that have bugged me:
- Having to add a JSX build step (yes I know you can avoid JSX but it's ugly)
- No standard Flux implementation the community can rally around
- There is a big community focus on utilizing bleeding edge front-end tech such as ES6 (using Babel) and CommonJS (through browserify/webpack), all installed through NPM. Even the FB Flux reference implementation is written in ES6. As someone crawling away slowly from simple jQuery based site, adding a full on front-end stack + ES6 is a huge ask.