Skip to content
React Lab · LAB-04Under investigation

“React is slow.”

React's own work is rarely the bottleneck. The tree shape, the amount of JavaScript shipped, and what happens during hydration usually are.

Verdict
IT DEPENDS
Level
ENGINEER
Division
LAB-04
References
02

Investigation

Rendering a component is a function call and an object comparison. Measured in isolation, that is fast. What makes React applications slow is almost always one of four structural things:

  1. 01Render waves: state placed high in the tree so every keystroke re-renders thousands of components.
  2. 02Payload: a large client bundle that must be downloaded, parsed, compiled and executed before anything is interactive.
  3. 03Hydration: the server sent HTML, then the client re-does the work to attach behaviour, paying for the page twice.
  4. 04Everything else: a date library, an icon set imported wholesale, and a chart component that ships its own copy of the same maths.

The productive version of the question is 'slow at what?'. Interaction latency, first load and navigation are three different problems with three different fixes, and only one of them is affected by how fast reconciliation runs.

References

  1. 01React docsReact Compiler
  2. 02web.devOptimize INP