React Compiler 1.0: automatic memoization arrives in production
Stable since October 2025 and adopted throughout 2026, the React Compiler optimizes components automatically — with no useMemo or useCallback by hand. What it really changes.
The end of manual useMemo?
For years, optimizing a React app meant scattering useMemo, useCallback and React.memo — manual work, tedious and easy to get wrong. The React Compiler, stable in 1.0 since October 7, 2025, flips the logic: it automatically memoizes components and hooks at compile time, without you rewriting anything.
What it does, concretely
The compiler analyzes your code and inserts the optimizations for you. It works on React and React Native, has been battle-tested on Meta's apps, and is presented as production-ready. On the Meta Quest Store, Meta reports up to +12% on initial loads and navigation, and some interactions more than 2.5× faster.
Adoption accelerated in 2026
- React releases kept shipping regularly (up to 19.2.7 in June 2026).
- In April 2026,
eslint-plugin-react-hooks7.1.0 added ESLint v10 support, skipped compilation of non-React files (a performance gain) and improved detection ofset-stateinside effects. - On the tooling side, enabling it goes through a Babel plugin; the React team is working with oxc and Rolldown for faster integration.
What it changes in how I work
Two things. First, less noise: business code is no longer polluted with defensive optimizations. You write readable React, the compiler handles the memoization. Second, fewer subtle performance bugs: those useCallbacks you forget, those poorly filled dependency arrays that re-render a whole subtree — the compiler handles them consistently.
Be careful, though: it's not a magic wand. Code that breaks the Rules of React (mutations, side effects during render) won't be optimized — and the compiler tells you so. It's even good discipline: it pushes you to write correct React.
The React Compiler doesn't replace understanding rendering. It rewards clean code and penalizes sloppy code.
Should you enable it today?
For a new React 19 / Next.js project, yes: the benefit is nearly free. For an existing codebase, you enable it gradually, relying on the linter to spot non-compliant components. On my projects, the rule is simple: let the compiler optimize, and keep control of the architecture.