React Compiler 1.0: 자동 메모이제이션이 프로덕션에 오다
2025년 10월부터 안정화되어 2026년 내내 채택된 React Compiler는 useMemo나 useCallback을 손으로 쓰지 않고도 컴포넌트를 자동으로 최적화합니다. 그것이 정말로 바꾸는 것.
손으로 쓰는 useMemo의 끝?
수년 동안 React 앱 최적화란 useMemo, useCallback, React.memo를 여기저기 뿌리는 일이었습니다——수작업이고, 지루하며, 틀리기 쉬운. 2025년 10월 7일부터 1.0으로 안정화된 React Compiler는 이 논리를 뒤집습니다: 컴파일 시점에 컴포넌트와 훅을 자동으로 메모이제이션하며, 아무것도 다시 쓰게 하지 않습니다.
구체적으로 무엇을 하나
컴파일러는 당신의 코드를 분석해 최적화를 대신 삽입합니다. React와 React Native에서 동작하고, Meta의 앱에서 충분히 검증되었으며, 프로덕션 준비 완료로 소개됩니다. Meta Quest Store에서 Meta는 초기 로드와 내비게이션에서 최대 +12 %, 일부 인터랙션은 2.5배 이상 빠르다고 보고합니다.
2026년에 채택이 가속됐다
- React 버전은 꾸준히 출시되었습니다(2026년 6월 19.2.7까지).
- 2026년 4월,
eslint-plugin-react-hooks7.1.0이 ESLint v10 지원을 추가하고, React가 아닌 파일의 컴파일을 건너뛰며(성능 이득), 이펙트 내부의set-state감지를 개선했습니다. - 툴링 측면에서 활성화는 Babel 플러그인을 거칩니다; React 팀은 더 빠른 통합을 위해 oxc, Rolldown과 협업하고 있습니다.
내 작업 방식에서 바뀌는 것
두 가지. 첫째, 잡음이 줄어든다: 비즈니스 코드가 더 이상 방어적 최적화로 오염되지 않습니다. 읽히는 React를 쓰면, 메모이제이션은 컴파일러가 맡습니다. 둘째, 미묘한 성능 버그가 줄어든다: 깜빡한 useCallback, 잘못 채운 의존성 배열이 서브트리 전체를 다시 렌더링하는 문제——컴파일러가 일관되게 처리합니다.
다만 주의: 마법 지팡이가 아닙니다. React 규칙(렌더링 중 변형, 부수 효과)을 어기는 코드는 최적화되지 않으며——컴파일러가 알려 줍니다. 오히려 좋은 규율입니다: 올바른 React를 쓰도록 밀어붙입니다.
React Compiler는 렌더링에 대한 이해를 대체하지 않습니다. 깨끗한 코드를 보상하고, 엉성한 코드를 벌합니다.
오늘 켜야 할까?
새 React 19 / Next.js 프로젝트라면, 예: 이득은 거의 공짜입니다. 기존 코드베이스라면 점진적으로 켜고, 규칙을 어긴 컴포넌트를 찾기 위해 린터에 기댑니다. 제 프로젝트의 규칙은 간단합니다: 컴파일러가 최적화하게 두고, 아키텍처의 주도권은 쥐고 있기.