Why React
In case you were wondering

ReactJS is a component-based Javascript library, used for building interactive user interface for websites and mobile applications where data updates in real time. It handles the View in the MVC (Model — View — Controller) model.
React is component-based and everything is a component: the whole page is divided into small parts which together create the view.
Fun fact: when React v0.14 got released in 2015, the Facebook codebase had over 15,000 React components.
The main ReactJS feature is the Virtual-DOM, where data can only go one-way. When there are changes to the data contained in the state of a component, the view of that component and all of its children is re-rendered and updated. This is achieved by comparing two copies of the virtual DOM, the original and the updated, one of the reasons why React is preferred for real-time applications.
Whenever you call setState
on a component, React will mark it as dirty: it then looks at all the dirty components and re-renders them and their children.

React is the world’s most popular JavaScript library/framework.
According to npm’s data This year in JavaScript: 2018 in review and npm’s predictions for 2019 that “React will be the dominant framework in 2019.”
React has reached 60 percent market share, which, as the article says, is unprecedented for a web framework.


React:
- Backed by Facebook
- 1285 developers contributing
Angular:
- Backed by Google
- Counts 869 developers
Vue:
- No major company backing 😭
- 269 contributors
According to npm, both React and Angular’s numbers are high enough to indicate these they will remain supported for the next few years.
React is used for all sorts of websites:

One of the advantages of React is using JSX syntax, syntax extension to JavaScript, which lets you to mix both JSX and Javascript by wrapping in {}. It’s neither a string nor HTML. You can put any valid JavaScript expression inside the curly braces in JSX.
Components are also easy to reuse, simply by importing them at the top of the file. This helps massively to keep your code DRY.
import ICanBeReusedAllTheTime from './someComponent.js'
After you get used to Components, Props and State, it feels like you’re still coding in native Javascript.
Loved by lots of developers, according to Stack Overflow

Oh and the documentation is really good!