Used to cache values or functions based on dependencies, preventing unnecessary recalculations or recreations on re-render.
useMemo()Caches the return value of a computation.
const memoizedValue = useMemo(() => computeExpensiveValue(a, b), [a, b]);
a or b changes.Use when:
memo() components or causes re-renders.useCallback()Caches the function reference, so it remains stable across renders.
const handleClick = useCallback(() => {
console.log('clicked');
}, []);
Use when:
memo() components.