Встречается на собеседованиях • сегодня

В чем разница между useMemo и useCallback

useMemo и useCallback оба оптимизируют производительность, но решают разные задачи:

  • useMemo кэширует результат вычислений и возвращает его, пока зависимости не изменились.
    Пример:
    js
    const expensiveValue = useMemo(() => computeExpensiveValue(a, b), [a, b]);
  • useCallback кэширует саму функцию, а не её результат. Полезно для передачи стабильных колбэков дочерним компонентам.
    Пример:
    js
    const memoizedCallback = useCallback(() => { doSomething(a, b) }, [a, b]);

Ключевое отличие:

  • useMemo — для значений,
  • useCallback — для функций.

Оба предотвращают лишние ререндеры, но только если зависимости остаются прежними.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы