Назад к вопросам
СБЕР
Middle
1
Находили ли вы применение для useCallback?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
useCallback — это хук в React, который позволяет мемоизировать функцию, чтобы она не пересоздавалась при каждом рендере компонента. Это полезно, когда функцию передают в дочерние компоненты, особенно оптимизированные через React.memo, или когда функция используется в зависимостях других хуков, например useEffect.
Пример применения:
import React, { useState, useCallback } from 'react';
function Counter() {
const [count, setCount] = useState(0);
const increment = useCallback(() => {
setCount(c => c + 1);
}, []); // функция не меняется при рендерах
return <Child onClick={increment} count={count} />;
}
const Child = React.memo(({ onClick, count }) => {
console.log('Child render');
return <button onClick={onClick}>Count: {count}</button>;
});
Здесь useCallback предотвращает ненужные перерендеры Child, так как ссылка на функцию increment не меняется.