Generated by GPT-5-mini| React (software) | |
|---|---|
![]() | |
| Name | React |
| Developer | Meta Platforms |
| Released | 2013 |
| Programming language | JavaScript, TypeScript |
| Operating system | Cross-platform |
| License | MIT License |
React (software) is a JavaScript library for building user interfaces maintained by Meta Platforms and a community of individual developers and corporations. It popularized a component-based model and a virtual DOM rendering approach that influenced frameworks and projects across the web, mobile, and desktop ecosystems.
React provides a declarative paradigm for constructing user interfaces using reusable components, enabling predictable rendering with a virtual DOM reconciliation strategy. It is commonly used alongside Node.js, npm, Yarn, Webpack, and Babel to build single-page applications and progressive web apps for platforms including Android and iOS. React's API surface includes hooks and class components and integrates with GraphQL, Redux, Flux, and other state-management libraries used by companies such as Facebook, Instagram, Twitter, and Netflix.
React originated inside Facebook during work on the social network's ad and timeline interfaces, motivated by challenges encountered with server-rendered markup and client-side DOM manipulation. Early public release and demonstrations occurred after internal adoption and were followed by an open-source release in 2013 under the auspices of Meta Platforms and contributions from organizations like Airbnb, Dropbox, Google, and Microsoft. Major milestones include the introduction of the virtual DOM, the Flux architecture pattern, the 2015 adoption of ES6 features championed by Brendan Eich and the TC39 committee, the 2018 introduction of hooks influenced by functional programming trends from projects like Elm and Redux, and the ongoing stewardship through conferences such as React Conf and collaborations with standards bodies like WHATWG and W3C.
React's architecture centers on composable components that encapsulate markup, styling, and behavior, often authored using JSX syntax that transpiles with Babel. Rendering is optimized using a virtual DOM diffing algorithm influenced by incremental rendering research from projects such as XHP, Inferno, and academic work presented at venues like SIGPLAN conferences. The reconciliation process minimizes direct updates to the host environment's DOM APIs used by Chromium, WebKit, and Gecko engines. React can target multiple renderers via renderer backends such as React Native, React DOM, and experimental projects like React Native for Windows and Electron integrations developed by communities around Microsoft and GitHub.
Key concepts include reusable components, unidirectional data flow popularized by Flux, and stateful logic encapsulation via hooks such as useState, useEffect, and useReducer. The component model supports lifecycle methods derived from class-based patterns and functional paradigms influenced by Lisp and Haskell ideas; APIs for context propagation and memoization (for example, useContext and useMemo) enable patterns used in large codebases at companies like Airbnb, Uber, and Pinterest. React's reconciler API and fiber architecture facilitate cooperative scheduling comparable to efforts in Mozilla's Servo and Google's V8 scheduling discussions, while concurrent features draw on research disseminated at ACM venues.
A large ecosystem has emerged including routing libraries such as React Router, state managers like Redux and MobX, styling solutions like Styled Components, bundlers such as Webpack and Parcel, and testing frameworks including Jest and Enzyme. Toolchains often integrate with Typescript for static typing, CI/CD pipelines maintained with Jenkins, CircleCI, or GitHub Actions, and deployment platforms like Vercel and Netlify. Community-driven governance and package distribution occur via npm, with major corporate involvement from entities like Meta Platforms, Microsoft, and Amazon Web Services.
React is widely adopted by consumer-facing platforms such as Facebook, Instagram, WhatsApp, Airbnb, Netflix, and Dropbox, and in enterprise applications across sectors using clouds like Amazon Web Services and Google Cloud Platform. It is taught in curricula at institutions such as Massachusetts Institute of Technology and Stanford University and is prominent in developer conferences including JSConf and React Conf. Mobile adoption via React Native has enabled code reuse across iOS and Android apps maintained by organizations including Discord, Walmart, and Bloomberg.
Critiques of React have focused on licensing disputes during its early open-source history, debates over the JSX syntax and its mixing of markup with logic, concerns about large-bundle sizes affecting performance on legacy devices like devices running older Android versions, and the complexity introduced by rapid API changes that drew commentary from developers at Google, Apple, and various open-source projects. Discussions around Meta's influence, contribution governance, and compatibility with web standards have been raised at venues including W3C and in public issue trackers hosted on GitHub.
Category:JavaScript libraries