Recs.
Updated
SpecsUpdate
Pros
Cons
Con Mixes markup (JSX) and JS
React components are typically written in JSX, a JavaScript extension syntax allowing quoting of HTML and using HTML tag syntax to render subcomponents. This is a React-specific grammar extension to JavaScript like the now-defunct E4X. HTML syntax is processed into JavaScript calls of the React framework. For more information refer to [this link](https://en.wikipedia.org/wiki/React_(JavaScript_library) . This is not good if you believe that markup and JS should have separate concerns.
Con Large file size
React's react.min.js is 145.5KB in size. It's much larger than some other libraries that offer roughly the same features and it's almost the same size as some MV* frameworks such as Angular or Ember that offer more features out of the box.
Although, it should be mentioned that sometimes having a smaller library may force developers to reinvent the wheel and write inefficient implementations on features that React already has. Ending up with a larger application that's harder to maintain and/or that has bad performance.