React, the widely adopted JavaScript library for building user interfaces, has reached a milestone with the stable release of React Compiler 1.0, built on top of nearly a decade of engineering work and compiler learnings that transforms how developers optimize React applications.
React Compiler 1.0 is a build-time tool that optimizes React apps through automatic memoization, working on both React and React Native without requiring code rewrites. The compiler has been battle tested on major applications at Meta and is now fully production ready. The tool analyzes component data flow and mutability to eliminate unnecessary renders, covering conditional paths that manual useMemo and useCallback implementations cannot handle.
The compiler ships with integrated diagnostics in eslint-plugin-react-hooks through the recommended preset, alongside first-party templates for Expo, Vite, and Next.js. Expo SDK 54 enables the compiler out of the box, while Vite and Next.js offer compiler-enabled starters for new applications. Next.js 16 lists React Compiler support as stable, with the team recommending Next.js version 15.3.1 or later when enabling the compiler.
Performance improvements have been substantial in production environments. Meta reports up to 12 percent faster initial loads and more than 2.5 times faster interactions in the Meta Quest Store, though results vary by application. Real-world case studies from Sanity Studio and Wakelet demonstrate measurable performance gains after compiler adoption, with developers reporting noticeable improvements in component rendering efficiency.
Additional real-world metrics provide detailed insights into the compiler’s impact. Sanity Studio reported significant gains after precompiling their packages with React Compiler, as documented in their November 2024 changelog:
So far, 1,231 out of 1,411 components have been compiled, resulting in a 20 to 30 percent overall reduction in render time and latency. We anticipate even greater improvements as we refactor the remaining 180 components to support auto-memoization.
Wakelet shared comprehensive production metrics in their case study after rolling the compiler to 100 percent of users:
Overall, our LCP improved by 10 percent (2.6s to 2.4s), and our INP improved by about 15 percent (275ms to 240ms). Doing more granular testing, we saw the biggest gains in elements that were pure React (such as Radix dropdowns), where the INP speedup was closer to 30 percent.
Independent testing by developer Nadia Makarevich on a real application of approximately 15,000 lines of code revealed mixed results. Initial load performance showed minimal impact, with Lighthouse scores remaining virtually identical before and after enabling the compiler. However, interaction performance improvements varied significantly by use case. In one test measuring a theme toggle interaction, total blocking time dropped from 280ms to zero. In another test involving a checkbox filter interaction, blocking time decreased from 130ms to 90ms, though the compiler failed to eliminate all re-renders due to non-memoized object references from an external library.
The compiler’s development history traces back to the React team’s first exploration into compilers with Prepack in 2017. While that project was eventually discontinued, the learnings informed the design of Hooks, which were created with a future compiler in mind. In 2021, the first iteration of the current compiler approach was demonstrated, leading to the experimental release at React Conf 2024 and subsequent beta releases throughout the year.
Compatibility questions remain with popular libraries. GitHub discussions reveal that react-hook-form users report certain functions including useWatch and getValues may encounter issues under the compiler.
The React team officially supports the compiler for applications on React 17 and later through an optional react-compiler-runtime package, enabling incremental adoption for teams not ready to upgrade to React 19. Developers currently using earlier versions are encouraged to check compatibility using the react-compiler-healthcheck tool and review the incremental adoption guide published alongside the 1.0 release. The migration documentation recommends starting with React 18.3, which includes warnings for deprecated APIs needed for React 19 compatibility.
React Compiler brings optimization to the existing React ecosystem without requiring framework changes, it adds this capability to React’s runtime-focused architecture. The compiler represents a shift in React performance optimization philosophy, moving from manual developer intervention to automated build-time analysis, though the team recommends keeping useMemo and useCallback as escape hatches where effect dependencies demand precise control.
