It is a framework built on vanilla JS. Think of it as the middleware to communicate with the browser. Modern browsers provide many functionalities that improve user experience and provide good visual animations also. To communicate with the browser we use vanilla JS. But the code gets many times too long making things look complicated in vanilla JS. React hides these complexities and let a developer access the features of the browser using less code. Also, I would like to remind you here that React is a
declarative language for this reason.
React is a
Component-Based framework. This means components are once written and used multiple times within the app. In vanilla JS it is not the same case as everything has to be hard-wired to make things work.
React can also render on the server using Node and power mobile apps using
React Native.Many companies use React Native for their mobile app because the same code can be deployed to both
Play Store and
App Store.This helps them ship out new features and information to their users in less time.