Frontend Development 10 min read

Understanding React Fiber: Architecture, Scheduling, and Reconciliation

This article explains why React Fiber was introduced, describes its core concepts such as the fiber tree, work‑in‑progress tree, double buffering, priority scheduling, and lifecycle changes, and summarizes the new capabilities it brings to improve UI performance and responsiveness.

Ctrip Technology
Ctrip Technology
Ctrip Technology
Understanding React Fiber: Architecture, Scheduling, and Reconciliation

React Fiber is a complete rewrite of React's core algorithm that introduces a new reconciler called the Fiber Reconciler, aiming to solve performance bottlenecks caused by the previous Stack Reconciler.

Before Fiber, React performed a depth‑first traversal of the entire virtual DOM during the scheduling phase, blocking the browser's single‑threaded main loop and leading to UI jank, especially when many components needed updating.

Fiber splits the rendering and update work into small, interruptible units called fibers, forming a fiber tree that mirrors the virtual DOM but carries additional context for incremental updates.

The process is divided into two phases:

Render/Reconciliation (interruptible) : builds a workInProgress tree by traversing the fiber tree, generating an effect list that records the changes.

Commit (non‑interruptible) : applies the accumulated effects to the real DOM in a single, fast pass.

Fiber introduces a double‑buffering technique where the current fiber tree and a work‑in‑progress tree coexist; each fiber has an alternate reference to its counterpart, enabling efficient reuse of instances.

Task priority is managed by assigning expiration times to fibers; higher‑priority tasks (e.g., user input) are scheduled with shorter expiration times, while lower‑priority work runs during idle periods via requestIdleCallback or animation frames via requestAnimationFrame .

The new lifecycle methods reflect the split phases: getDerivedStateFromProps replaces several deprecated hooks, getSnapshotBeforeUpdate runs once before the commit phase, and componentDidCatch handles errors.

In summary, React Fiber provides:

Interruptible, priority‑aware rendering tasks.

Reusable work units across phases.

Bidirectional navigation between parent and child tasks.

Support for returning multiple elements from render.

Built‑in error boundaries.

Understanding these concepts helps developers grasp how Fiber improves interaction smoothness and prepares the groundwork for further optimizations in modern React applications.

frontendPerformancereconciliationReactSchedulingFiber
Ctrip Technology
Written by

Ctrip Technology

Official Ctrip Technology account, sharing and discussing growth.

0 followers
Reader feedback

How this landed with the community

login Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.