Ответ
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
для простых операций, так как он тоже потребляет ресурсы.