Что такое useCallback

Ответ

useCallback — это хук React, который мемоизирует функцию, предотвращая её пересоздание при каждом рендере. Это полезно для оптимизации производительности, особенно когда функция передаётся в дочерние компоненты, зависящие от сравнения пропсов (например, React.memo или useEffect).

Пример:

const MyComponent = () => {
  const [count, setCount] = useState(0);

  const handleClick = useCallback(() => {
    setCount(prev => prev + 1);
  }, []); // Зависимости пусты — функция создаётся один раз

  return <Child onClick={handleClick} />;
};

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

  • Функция передаётся в оптимизированный дочерний компонент (React.memo).
  • Функция используется в зависимостях хуков (например, useEffect).

Важно: Не злоупотребляйте useCallback — лишняя мемоизация может ухудшить производительность.