Overview

What React is, its declarative model, and its relationship to frameworks built on top of it.

Path: overview

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.