The React Compiler and automatic memoization
The React Compiler (formerly React Forget) analyzes components that follow the Rules of React and inserts fine-grained memoization so props/state changes re-render only affected subtrees—without manual useMemo everywhere.
Rules still matter
Impure renders, mutable refs masquerading as state, and writing during render break assumptions. The compiler refuses or deopts unsafe patterns—fix the root cause instead of fighting the tool.
Less boilerplate
Teams often sprinkle useCallback to stabilize child props. Compiler-grade memoization targets what actually changed; fewer manual dependency arrays mean fewer stale bugs.
Adoption strategy
Enable on leaf components first (design system primitives), measure render counts with React Profiler, then widen. Legacy class components and exotic patterns may need refactors.
Summary
Treat the compiler as enforced purity + automatic skipping of stable subtrees. It does not replace good data architecture (keys, list virtualization) but removes a class of avoidable re-renders.