React is a JavaScript Library for building User Interfaces.
According to reactjs.org:
React has a Declarative style
React makes it painless to create interactive UIs. Design simple views for each state in your application, and React will efficiently update and render just the right components when your data changes.
Declarative views make your code more predictable and easier to debug.
React is Component-Based
React can build encapsulated components that manage their own state, so you can compose them to make complex UIs.
Since component logic is written in JavaScript instead of templates, you can easily pass rich data through your app and keep state out of the DOM.

