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