> Что функция, передаваемая в useEffect, может возвращать и зачем (React)
Уровень: senior · Роль: frontend · Категория: Технические вопросы
Компании: Kaspersky
Стек: React
> Пример ответа
Функция, переданная в useEffect, может возвращать функцию очистки (cleanup function). Эта функция вызывается при размонтировании компонента или перед повторным выполнением эффекта (если изменились зависимости).
Зачем это нужно:
-
Отписка от подписок (например, WebSocket, setTimeout, addEventListener).
-
Сброс побочных эффектов (очистка таймеров, отмена запросов через AbortController).
-
Предотвращение утечек памяти - если эффект запускается повторно, старая подписка должна быть отменена до создания новой.
Пример:
JAVASCRIPTuseEffect(() => {const timer = setInterval(() => console.log('Tick'), 1000);return () => clearInterval(timer); // очистка при размонтировании или изменении зависимостей}, []);
> Похожие задачи по frontend
Как работают useMemo и useCallback для оптимизации производительности React-компонентов
На каких стадиях жизненного цикла React-компонента срабатывает useEffect?
Как найти и решить проблему производительности при вводе в input в React-приложении?
Как использовать useEffect для вызова кода при монтировании компонента
> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?
Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью