React
React1 is a JavaScript library for building user interfaces.
It's:
Declarative
Component-based
Learn once, write anywhere
Why React
Here is a good old article on why react was built - reactjs.org/blog/2013/06/05/why-react.html
Another article on why to use React for web development - freecodecamp.org/news/why-use-react-for-web...
Declarative
First, let's understand the differences between imperative and declarative programming: freecodecamp.org/news/imperative-vs-declara..
Declarative programming is much easier to read and figure out what is going on in your code. That makes it easier to debug and easier for other devs to work on. You can spend more time creating beautiful reusable components for your users.
Component-based
What is component-based development? gartner.com/en/information-technology/gloss..
Since component logic is written in JavaScript instead of templates, you can easily pass rich data through your app and keep the state out of the DOM.
Learn once, write anywhere
React doesn’t make assumptions about the rest of your technology stack, so you can develop new features in React without rewriting existing code.
React can also render on the server using Node and power mobile apps using React Native.
References
1: React Official site. ↩