Original author(s) | Jordan Walke |
---|---|
Developer(s) | Facebook, Instagram and community |
Initial release | March 2013 |
Stable release |
15.4.2 / January 6, 2017
|
Repository | github |
Development status | Active |
Written in | JavaScript |
Platform | Cross-platform |
Size | 145 KiB production 726 KiB development |
Type | JavaScript library |
License | 3-Clause BSD with Facebook addendum (not OSI-approved) |
Website | facebook |
React (sometimes styled React.js or ReactJS) is an open-source JavaScript library for building user interfaces.
It is maintained by Facebook, Instagram and a community of individual developers and corporations. According to JavaScript analytics service Libscore, React is currently being used on the websites of Netflix, Imgur, Bleacher Report, Feedly, Airbnb, SeatGeek, HelloSign, Walmart, and others.
React was created by Jordan Walke, a software engineer at Facebook. He was influenced by 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 iOS, Android and UWP development with React, was announced at Facebook's React.js Conf in February 2015 and open-sourced in March 2015.
Properties, a set of immutable values, are passed to a component's renderer as properties in its HTML tag. A component cannot directly modify any properties passed to it, but can be passed callback functions that do modify values. This mechanism's promise is expressed as "properties flow down; actions flow up".
Another notable feature is the use of a "virtual Document Object Model," or "virtual DOM." React creates an in-memory data structure cache, computes the resulting differences, and then updates the browser's displayed DOM efficiently. This allows the programmer to write code as if the entire page is rendered on each change while the React libraries only render subcomponents that actually change.