useMemo cache kết quả tính toán: useMemo(() => expensiveCalc(data), [data]). useCallback cache function reference: useCallback(() => handleClick(id), [id]). useCallback dùng khi truyền callback xuống child component dùng React.memo.
Lạm dụng 2 hooks này có thể giảm performance do overhead.
useMemo caches a computed value: useMemo(() => expensiveCalc(data), [data]). useCallback caches a function reference: useCallback(() => handleClick(id), [id]).
- Use useCallback when passing a callback down to a child component wrapped in React.memo.
- Overusing both hooks can actually hurt performance due to memoization overhead.