Overview
What React is, its declarative model, and its relationship to frameworks built on top of it.
Third-party documentation. This is independently authored analysis of the public React codebase — not the official docs, and not reviewed or endorsed by the React team.
React
React is a JavaScript library for building user interfaces. Its model: describe the UI for any given state as a tree of components — plain functions returning a description of what should be on screen — and let the library figure out how to move the real DOM (or native view hierarchy) from its current state to that description. Developers write declarative specifications; React performs imperative surgery.
Why it exists
Hand-maintaining DOM updates as application state changes scales poorly: every feature multiplies the places where "update this element when X changes" lives, and they drift. React collapses all of those into one rule — re-render everything below the changed point and diff — trading some raw performance for an enormous gain in predictability.
Where it sits in the ecosystem
- Frameworks — Next.js, Remix, Expo and others build routing, data loading, and bundling on top; React itself deliberately ships none of that.
- Renderers — react-dom for browsers, react-native for mobile; the core library is renderer-agnostic by design.
- The compiler era — ongoing work (React Compiler, Server Components) pushes automatic memoization and server-side rendering into the ecosystem's center of gravity.
This documentation is independent analysis of the public repository and its behavior — not affiliated with or endorsed by Meta or the React team.
