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

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

useMemo кэширует результат вычислений и пересчитывает его только при изменении зависимостей. Используется для оптимизации дорогих вычислений.

jsx
const memoizedValue = useMemo(() => computeExpensiveValue(a, b), [a, b]);

React.memo — HOC, который мемоизирует компонент, предотвращая лишние ререндеры при неизменных пропсах.

jsx
const MemoComponent = React.memo(MyComponent);

useCallback кэширует саму функцию, а не её результат. Полезен при передаче колбэков в дочерние компоненты.

jsx
const memoizedCallback = useCallback(() => {
  doSomething(a, b);
}, [a, b]);

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

  • useMemo — для значений
  • useCallback — для функций
  • React.memo — для компонентов
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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