Original author(s) | Jordan Walke, Denis Popov |
---|---|
Developer(s) | Facebook, Instagram and community |
Initial release | March 2013 |
Stable release |
15.6.1 / June 14, 2017
|
Repository | github |
Development status | Active |
Written in | JavaScript |
Platform | Cross-platform |
Size | 145 KiB production 726 KiB development |
Type | JavaScript library |
License | Adapted from 3-Clause BSD, with patent grant voided if licensor engages in any patent litigation with Facebook or its subsidiaries. Not OSI approved. |
Website | facebook |
In computing, React (sometimes styled React.js or ReactJS) is a JavaScript library for building user interfaces.
It is maintained by Facebook, Instagram and a community of individual developers and corporations.
React allows developers to create large web-applications that use data that can change over time, without reloading the page. It aims primarily to provide speed, simplicity and scalability. React processes only user interfaces in applications. This corresponds to View in the Model-View-Controller (MVC) pattern, and can be used in combination with other JavaScript libraries or frameworks in MVC, such as AngularJS.
React was created by Jordan Walke, a software engineer at Facebook. He was influenced by Angular and XHP, an HTML component framework for PHP. It was first deployed on Facebook's newsfeed in 2011 and later on Instagram.com in 2012. It was open-sourced at JSConf US in May 2013. React Native, which enables native Android, iOS, and UWP development with React, was announced at Facebook's React.js Conf in February 2015 and open-sourced in March 2015. On April 18, 2017, Facebook announced React Fiber, a new core algorithm of React framework library for building user interfaces. React Fiber will become the foundation of any future improvements and feature development of the React framework.
Following is a rudimentary example of how React can be used in html using JSX and the ECMAScript 2015 JavaScript syntax.
The Greeter
class is a React component that accepts a property greeting
. The ReactDOM.render
method creates an instance of the Greeter
component, sets the greeting
property to 'Hello World'
and inserts the rendered component as a child element to the DOM element with id myReactApp
. When displayed in a web browser the result will be