Open-Source Wikis

/

React

/

React

/

Glossary

facebook/react

Glossary

Internal vocabulary that recurs across the runtime, the compiler, and the team's PR descriptions. If you have ever opened a React PR titled [Fizz] add additional task reentrancy protections (#36291) and squinted, this page is for you.

Core runtime

Fiber — A single node in React's internal work-in-progress tree. Implemented in packages/react-reconciler/src/ReactFiber.js. Every component, host element, fragment, suspense boundary, etc. has a fiber. Each fiber has an alternate pointer to its previous version, which is how "double buffering" of the tree works.

Fiber root — The container of an entire React tree, returned by createRoot/hydrateRoot. Defined in packages/react-reconciler/src/ReactFiberRoot.js. Holds the current and pending work-in-progress trees, the lane bitmask, and root-level state like isDehydrated.

Work-in-progress (WIP) tree — The new fiber tree being built during a render. Each WIP fiber's alternate points at the corresponding committed fiber. After commit, the roles flip.

Lane / lane set — A 31-bit bitmask representing scheduling priority. One bit per lane. Defined in packages/react-reconciler/src/ReactFiberLane.js. Examples: SyncLane, InputContinuousLane, DefaultLane, TransitionLane1..16, IdleLane, OffscreenLane, DeferredLane. The reconciler picks the highest-priority lane(s) to render in any given pass.

Update queue — Per-fiber list of pending state updates. Class components use ReactFiberClassUpdateQueue.js; hooks use the queues attached to each Hook cell in ReactFiberHooks.js. Updates are applied during render in lane order.

Effect — Two unrelated meanings:

  1. Hook effectuseEffect, useLayoutEffect, useInsertionEffect callbacks queued for the commit phase.
  2. Fiber flag — A bitmask on each fiber describing what work the commit phase should do (Placement, Update, Deletion, Hydrating, Snapshot, ContentReset, ...). See packages/react-reconciler/src/ReactFiberFlags.js.

Begin work / complete work — The two halves of the render phase. beginWork (in ReactFiberBeginWork.js) descends into a fiber's children. completeWork (in ReactFiberCompleteWork.js) bubbles flags up and prepares host instances.

Commit phase — The synchronous, uninterruptible phase where actual DOM mutations happen. Implemented across ReactFiberCommitWork.js, ReactFiberCommitEffects.js, ReactFiberCommitHostEffects.js, and ReactFiberCommitViewTransitions.js.

Host config — The set of imperative methods a renderer must implement (createInstance, appendChild, commitUpdate, …). The reconciler imports them from ReactFiberConfig, which is fork-resolved at build time to the right renderer's implementation. See packages/react-reconciler/src/forks/.

Host instance — The opaque platform object for a host component (a DOM node, a Fabric shadow node, an ART shape, …). Each renderer defines what this is.

Reconciliation — Diffing children. Implemented in packages/react-reconciler/src/ReactChildFiber.js. The "you are missing a key" warning comes from here.

Hydration — Walking an existing host tree and matching it to a fresh React render. Two flavors: full-tree hydration (hydrateRoot) and selective hydration for Suspense boundaries during streaming SSR. Code lives in ReactFiberHydrationContext.js and the renderer-side hydration helpers.

Concurrent rendering

Concurrent feature — Anything that requires the time-slicing work loop: transitions, deferred values, Suspense for data, etc. Enabled by default since React 18 in createRoot/hydrateRoot.

Transition — A render that has been marked low-priority via useTransition or startTransition. Implementation in packages/react/src/ReactStartTransition.js and packages/react-reconciler/src/ReactFiberTransition.js.

Deferred value — A value whose update is processed at lower priority. useDeferredValue lives in packages/react-reconciler/src/ReactFiberHooks.js (look for mountDeferredValue/updateDeferredValue).

Suspense / Suspense boundary — A component that catches thrown thenables / async errors and shows a fallback. Internal helpers in ReactFiberSuspenseComponent.js, ReactFiberSuspenseContext.js, ReactFiberThrow.js, ReactFiberThenable.js.

Activity (formerly Offscreen)<Activity> (publicly) / OffscreenComponent (internally) — a primitive that hides a subtree without unmounting it, preserving state and DOM. See ReactFiberOffscreenComponent.js.

View transition — Browser View Transitions API integration. Code in ReactFiberCommitViewTransitions.js, ReactFiberApplyGesture.js. New since React 19.

Gesture / Gesture scheduler — A second scheduling primitive, layered on top of the lane scheduler, used to drive view transitions and (eventually) gesture-driven animation. ReactFiberGestureScheduler.js.

Server / streaming

Fizz — React's streaming SSR engine. Lives in packages/react-server/src/ReactFizzServer.js. Different driver per platform: react-dom/server.node, react-dom/server.edge, react-dom/server.browser, react-dom/server.bun.

Flight — React Server Components' wire format. Server side: packages/react-server/src/ReactFlightServer.js. Client side: packages/react-server-dom-*/.

RSC (React Server Components) — Components that run only on the server (or at build time) and return a Flight payload. Marked by the react-server exports condition.

Client reference / Server reference — In RSC, a client reference is a pointer to a client component module that the bundler must include in the browser bundle; a server reference is a function that can be called from the client and runs on the server (Server Actions). Both are encoded in the Flight payload.

Resume / Postponed — Partial pre-rendering APIs. prerender returns a postponed state which can be passed to resume to finish rendering on a different machine/request.

Hoistable — A resource (stylesheet, link, script, meta) that React promotes from inside the component tree into <head>. Coordinated by react-dom-bindings/src/server/ReactDOMFloatServer.js and the matching client code.

Float — The Float (resource hoisting) implementation. Same general area as "Hoistable".

Compiler

HIR — High-level Intermediate Representation. The compiler's CFG-based representation. Defined in compiler/packages/babel-plugin-react-compiler/src/HIR/HIR.ts.

Place / Identifier / IdentifierId — A SSA-style value reference in HIR. A Place points at an Identifier, which has a unique IdentifierId.

Pass — A single transformation/analysis over the HIR, scheduled by compiler/packages/babel-plugin-react-compiler/src/Entrypoint/Pipeline.ts.

Aliasing effect — A side-effect annotation on instructions that describes data flow (Capture, Alias, Freeze, Mutate, …). See compiler/packages/babel-plugin-react-compiler/src/Inference/AliasingEffects.ts.

Hook aliasing signature — Per-hook description of how the hook treats its arguments (freezes them, returns aliases, etc.). In compiler/packages/babel-plugin-react-compiler/src/HIR/Globals.ts.

ReactiveScope — A synthesized memoization scope: the unit of work that the compiler will wrap in a cache lookup at the end of the pipeline.

Reactive function / Reactive block — Data structures produced after lowering HIR back to a memoization-friendly tree.

Forgive (or react-forgive) — The VS Code extension that surfaces compiler diagnostics inline. Lives in compiler/packages/react-forgive/.

Snap — The compiler's golden-file test runner. yarn snap from inside compiler/.

Release / channel vocabulary

Release channel — A logical "what set of feature flags are on" view of the source. The runtime has at least: stable, experimental, www-modern, www-classic, next-major. Selected at build time and at test time. See packages/shared/forks/.

www — Facebook's internal web codebase. Many flags are gated on whether the build is for www. www-classic is the legacy class-component-heavy codepath; www-modern is the concurrent-mode-on codepath.

react-server condition — The npm exports condition that means "you are on a server runtime that may use Server Components". When set, react, react-dom, etc. expose a different surface (e.g. no client hooks).

Prerelease — An automated daily npm publish from main. Two channels: next (stable channel, version 0.0.0-<sha>-<date>) and experimental (experimental channel, version 0.0.0-experimental-<sha>-<date>). See scripts/release/.

Other recurring terms

Invariantif (!cond) throw new Error('...'). A runtime sanity check. The error message is later replaced at build time by an integer code via scripts/error-codes/extract-errors.js; the human-readable text is hosted at react.dev/errors.

__DEV__ — A global boolean that is true in development bundles and stripped (and dead-code-eliminated) in production. Defined per build by Rollup's replace plugin.

__EXPERIMENTAL__ / __VARIANT__ / __PROFILE__ — Sibling globals controlling experimental code paths, feature variants, and profiling builds.

Owner stack — A development-only secondary stack trace that records which component rendered (owns) a given component, as opposed to which component contains it in the JSX tree. packages/react/src/ReactOwnerStack.js.

Component stack — The traditional "who is in the JSX tree above me" stack. Both styles are produced when reporting errors.

Selectors / Test selectors — A set of test-only APIs for finding nodes in the fiber tree by name or props. Implementation in packages/react-reconciler/src/ReactTestSelectors.js. Used by some Meta-internal test infra.

MaintainerCheck — A GitHub Actions job (shared_check_maintainer.yml) that labels PRs from people listed in MAINTAINERS.

Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.

Glossary – React wiki | Factory