Что такое useMemo

Ответ

useMemo — это хук React, который мемоизирует вычисления, чтобы избежать повторных вычислений при каждом рендере. Он принимает функцию и массив зависимостей, и возвращает мемоизированное значение, которое обновляется только при изменении зависимостей.

Пример:

import React, { useMemo } from 'react';

const ExpensiveComponent = ({ a, b }) => {
  const result = useMemo(() => {
    console.log('Вычисляется...');
    return a * b;
  }, [a, b]); // Пересчитывается только при изменении a или b

  return <div>{result}</div>;
};

Когда использовать:

  • Тяжёлые вычисления
  • Оптимизация производительности
  • Избежание лишних рендеров дочерних компонентов

Не злоупотребляйте useMemo для простых операций, так как он тоже потребляет ресурсы.