React is a popular front-end open-source library of Javascript developed by Facebook. It is used to create user interfaces using reusable components and allows you to render the components as viewable elements in a browser, while its ecosystem lets you build single-page applications, we will talk later about SPA(Single Page Application).
React was first released in 2013 by Facebook as an alternative to Angular.js. Earlier in angular.js which is a framework for UI interfaces, elements were not rendered properly concerning changing one state it affects another state of the application, and thus managing the front-end was a bit of a concern. Facebook was not working well with user interfaces, what it needs was to develop applications that are fast, scalable, and yet simple. So the purpose of React.js was to create large web applications that can change data, without reloading the page.
Earlier the websites were built using HTML, CSS, and Javascript. The browser made a request and these files loaded to the client-side. Whenever an event occurs, the server loads all the files that are not even required, which is not a good way to optimize the performance. Further, these websites heavily rely on javascript and so to manage the working of the javascript on different browsers more easily, JQuery was introduced. JQuery allows DOM manipulation which is a fast, small, and feature-rich JavaScript library. It takes care of Javascript implementation on different browsers thus, DOM manipulation becomes easy and it helps developers to create massive JavaScript applications.
It became more feasible to create large Javascript applications using JQuery but it was difficult to load such large js files because as the application grows, developers need something to handle the files, a way to organize and structure the code. For this purpose, Backbone.js was introduced in 2010, it is a very lightweight JavaScript library, that reduces the complexity of code and provides good functionality. It facilitates the developers to create single-page applications which means the files will be loaded once, and manipulation of the DOM will be handled by JavaScript. So the browser will stay on the same page and JavaScript will update the HTML and CSS.
This way SPA was introduced to provide better performance and React along with more functionalities provides the developers a great library to create fully-fledged SPA applications with better code, design, and performance.