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

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

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

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

Ключевое отличие: useCallback возвращает функцию, useMemo - значение. Оба зависят от массива зависимостей и пересчитываются только при их изменении.

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

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

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

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