React Compiler là build-time compiler: nó phân tích component và tự chèn cơ chế ghi nhớ, để giá trị và hàm chỉ được tính lại khi input thật sự đổi. Mục tiêu là bỏ được phần lớn memo hoá viết tay.
Còn cần memo thủ công không: với code compiler xử lý được thì không — useMemo/useCallback viết tay trở thành thừa và có thể gỡ dần. Vẫn giữ chúng ở hai chỗ: code compiler bỏ qua (component nó không phân tích được, hoặc thư viện chưa biên dịch), và các phép tính thật sự nặng mà bạn muốn kiểm soát tường minh. Compiler không tự động làm ứng dụng nhanh nếu vấn đề nằm ở thuật toán hay ở số byte tải về.
Chỗ nó đổi cách viết code: compiler chỉ an toàn khi component tuân thủ Rules of React, và nó sẽ tự bỏ qua (bail out) component vi phạm thay vì biên dịch sai. Nghĩa là kỷ luật sau trở thành điều kiện để được tối ưu, không còn là lời khuyên:
- Component và hook phải thuần khiết: không sửa props, không mutate state hay object đã render ra.
- Không đọc/ghi biến ngoài trong thân component.
- Không vi phạm Rules of Hooks.
Thực tế triển khai: bật ESLint plugin của compiler trước để lộ chỗ vi phạm, áp dụng theo từng thư mục, đo lại bằng Profiler — đừng gỡ hết useMemo cũ ngay trong một PR.