React is a Open source JavaScript library for developing user interfaces. React is developed and maintained by Facebook, Instagram, and the community of individual developers and companies.
With React you can individual pages and mobile apps developed The goal is to, high speed, Simplicity and Scalability to ensure. As a user interface development library, React is often used with other libraries such as MobX, Redux, and GraphQL.
React was created by Jordan Valke, a software developer at Facebook. The project was influenced by XHP, an HTML component framework for PHP. React was first used in the Facebook news feed in 2011 and the Instagram feed in 2012. React Native was announced at Facebook's "React.js Conf" in February 2015 and released as open source in March 2015. You can use React to develop native Android, iOS, and UWP apps.
On April 18, 2017, Facebook announced React Fibre, a revamped and optimized version of React. React Fibre will be the foundation for all future features and improvements.
Features
Unidirectional data transfer - properties are passed from parent to child components. Components receive properties as a set of immutable values, so a component cannot change the properties directly, but can invoke changes via callback functions. This mechanism is called "properties down, events up".
Virtual DOM - React uses the virtual DOM. React creates an in-memory cache structure that allows users to calculate the difference between the previous and current state of the interface to optimally update the browser's DOM. Thus, the programmer can work with the page provided that it is updated as a whole, but the library itself decides which page components need to be updated.
JSX - Javascript XML (JSX) is a Javascript syntax extension that allows users to describe the structure of an interface using HTML-like syntax. Components are written using JSX, but it is also possible to use regular Javascript. JSX is similar to another language that Facebook created for the PHP extension XHP.
Life cycle methods - Life cycle methods allow a developer to run code at different stages of a component's life cycle.
Not just HTML rendering in the browser - React is not just used to render HTML in the browser. Facebook, for example, has dynamic graphics that are rendered in canvas tags. Netflix and PayPal use isomorphic downloads to render identical HTML code on server and client.
React Hooks - Hooks allow users to use the state and other React functions without having to write classes. By creating custom hooks, users can insert component logic into reusable functions.
MERN stack
The MongoDB database, Express.js and ReactJS frameworks, and Node.js technology together form the MERN stack - a powerful platform that uses only one language at all levels: Javascript.