Sobes.tech
Назад к вопросам
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 не меняется.