Назад к вопросам
Middle
1
В чём разница между useMemo и useCallback?
Компании, где спрашивали
Лантан
Ответ от нейросети
sobes.tech AI
useMemo и useCallback — это хуки React, которые помогают оптимизировать производительность, но служат разным целям:
-
useMemo — мемоизирует значение, то есть возвращает кэшированный результат вычисления функции, чтобы не пересчитывать его при каждом рендере, если зависимости не изменились.
-
useCallback — мемоизирует саму функцию, возвращая ту же ссылку на функцию между рендерами, если зависимости не изменились.
Пример:
const memoizedValue = useMemo(() => computeExpensiveValue(a, b), [a, b]);
const memoizedCallback = useCallback(() => {
doSomething(a, b);
}, [a, b]);
Если нужно сохранить результат вычисления — используйте useMemo. Если нужно передать функцию вниз по дереву компонентов и избежать её пересоздания (например, чтобы не вызывать лишние рендеры дочерних компонентов), используйте useCallback.