Top 3 Reasons to Use React
1) The Virtual DOM
React is a library for building UI components. This means it must register changes from underlying data models and update the DOM to reflect those changes. Since redrawing and updating DOM nodes is one of the most expensive operations for web browsers, it's important that this is handled efficiently by whatever library you're using.
Through its reconciliation algorithm, React uses the virtual DOM to detect what nodes have actually changed and then updates the real DOM accordingly. This minimizes the amount of redrawing that needs to take place and drastically improves performance.
2) ComponentsIn React, everything is a component. Each component has defined inputs or "props" that are passed in similar to data attributes. These props make components reusable as different values can be used with the same implementation. Each component internally manages its own state. Whenever a component's state or props change, it triggers the re-rendering of the component. This results in a unidirectional data flow that is more predictable and straight forward than alternatives (like AngularJS two-way data binding where models can update views and views can update models, leading to unexpected results). This makes state management easier as parent components can pass changes in state down to child components, etc.
Using a component based approach makes building UIs like playing with legos. Smaller pieces of code can be reused and combined to make larger components. This component based structure makes code easier to maintain, especially as your code base grows. It also improves state management as data flows in one direction.
3) A Growing Community
React is an extremely hot option today. It's backed by Facebook and has a strong community surrounding it. While React itself is simply a UI library, many supporting technologies like MobX and React Native have facilitated the growth of an entire ecosystem for full stack development using React. While the revived Angular 2 and emerging Vue.js are hanging in there, React is by far and away the most popular option and continues to grow.
React has a massive community backing it and isn't going away anytime soon. Its component based approach makes it easy to manage state and maintain a growing code base. This combined with React's revolutionary use of a virtual DOM makes it an ideal choice for modern UI development.