> Для чего используется хук useCallback в React (JavaScript)

Уровень: senior · Роль: frontend · Язык: JavaScript · Категория: Технические вопросы

Компании: ESoft

Стек: JavaScript, Node.js, React

> Пример ответа

Хук useCallback в React используется для мемоизации функций. Он возвращает мемоизированную версию колбэка, которая изменяется только при изменении одной из зависимостей, переданных вторым аргументом. Это предотвращает ненужное создание новых функций при каждом рендере компонента, что особенно полезно для оптимизации производительности в двух случаях:

  1. Передача колбэков дочерним компонентам, обернутым в React.memo - чтобы избежать их лишних ререндеров, когда родительский компонент обновляется, но сам колбэк не изменился.

  2. Использование в хуках эффектов (например, useEffect) - чтобы избежать бесконечных циклов или лишних вызовов эффекта, когда функция передается как зависимость.

Пример:

JAVASCRIPT
const handleClick = useCallback(() => {
console.log('Clicked');
}, []); // Функция создается один раз и не меняется при ререндерах

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

> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?

Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью