This library helps describe the User Interface, each element is a component. It’s a design philosophy with virtual DOM and batched DOM updates makes it really fast and easy to test each component.
With React life cycle, no component will be mounted before each child component of it gets mounted first. And this adds more robustness and more security to an app. For example, We can secure the whole application and have nothing mounted if the user is not logged in.
React was hard to understand with complicated standards, Design patterns and its APIs like createRef, createClass and createElement…, etc. It’s harder when developers have to make a huge form with many functions to bind them into the class component. When the React team had announced functional components and hooks, React become easier to understand and very easy to use than before.
For me, as a Lead Front developer in a recent mission, there is no substantial difference in which framework to choose. Vue.js is also on board, every framework has its own pros and cons