Back to questions
Junior — Middle
93
Какие хуки в React наиболее эффективны для улучшения производительности компонентов?
Answer from AI
sobes.tech AI
Для улучшения производительности React-компонентов часто используют следующие хуки:
useMemo: мемоизация вычислений, чтобы не пересчитывать значения без необходимости.useCallback: мемоизация функций, чтобы не создавать новые функции при каждом рендере и не вызывать лишние перерендеры дочерних компонентов.useRef: хранение мутабельных значений без триггера рендера.
Пример использования useMemo и useCallback:
import React, { useState, useMemo, useCallback } from 'react';
function ExpensiveComponent({ compute, value }) {
const computedValue = useMemo(() => compute(value), [compute, value]);
return <div>{computedValue}</div>;
}
function Parent() {
const [count, setCount] = useState(0);
const compute = useCallback((num) => {
// тяжелая функция
return num * 2;
}, []);
return (
<>
<button onClick={() => setCount(c => c + 1)}>Increment</button>
<ExpensiveComponent compute={compute} value={count} />
</>
);
}
Использование этих хуков помогает избежать ненужных вычислений и перерендеров, что улучшает производительность.