React is a JavaScript library for building user interfaces, created at Facebook and released as open source in 2013. Its central idea is to describe an interface as a tree of reusable components, each rendering output from its current data, and to let the library work out how to update the page efficiently.
Facebook open-sourced React in 2013 and introduced it publicly to the wider developer community that year. In the early React blog post “Why did we build React?” (published June 5, 2013), the team explained the motivation: building large applications “with data that changes over time” is hard, and React’s answer was to re-render components when data changes and reconcile the result, rather than having developers manually patch the document.
The mechanism that made this practical was the virtual DOM. Instead of mutating the real browser document directly, a React component produces a lightweight description of what the UI should look like; React compares it to the previous description and applies only the minimal set of changes. This let developers write code as if the whole interface were redrawn on every change, while keeping performance acceptable.
React’s component model and one-way data flow spread quickly and influenced a generation of front-end tools. It pushed the industry toward thinking of interfaces as composed, declarative components rather than as scripts that imperatively poke at the DOM, the older style typified by libraries like jQuery.