Memoization = lưu lại kết quả theo input: khi input lặp lại, trả kết quả đã tính thay vì tính lại. Trong React có ba công cụ:
useMemo(fn, deps): nhớ giá trị của một phép tính nặng; chỉ tính lại khidepsđổi.useCallback(fn, deps): nhớ tham chiếu hàm (để truyền xuống con mà không tạo hàm mới mỗi lần render).React.memo(Component): bọc một component để bỏ re-render khi props (so sánh nông) không đổi.
Đừng lạm dụng: bản thân việc so sánh và lưu deps cũng tốn chi phí, chỉ dùng khi phép tính thật sự nặng hoặc khi chặn được re-render đo lường được. React Compiler tự memo hóa nên giảm nhu cầu làm thủ công.