В чем разница между useState и useCallback

«В чем разница между useState и useCallback» — вопрос из категории React, который задают на 10% собеседований Frontend Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

useState и useCallback решают разные задачи в React.

useState — хук для управления состоянием компонента. Он возвращает текущее состояние и функцию для его обновления. При изменении состояния компонент перерендеривается.

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

useCallback — хук для мемоизации функций. Он предотвращает создание новой функции при каждом рендере, что полезно для оптимизации (например, при передаче колбэков в дочерние компоненты).

const handleClick = useCallback(() => {
  setCount(prev => prev + 1);
}, []);

Ключевые отличия:

  • useState — для состояния, useCallback — для функций.
  • useCallback зависит от массива зависимостей, useState — нет.
  • useCallback не влияет на рендер, а useState его вызывает.