> Что функция, передаваемая в useEffect, может возвращать и зачем (React)

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

Компании: Kaspersky

Стек: React

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

Функция, переданная в useEffect, может возвращать функцию очистки (cleanup function). Эта функция вызывается при размонтировании компонента или перед повторным выполнением эффекта (если изменились зависимости).

Зачем это нужно:

  1. Отписка от подписок (например, WebSocket, setTimeout, addEventListener).

  2. Сброс побочных эффектов (очистка таймеров, отмена запросов через AbortController).

  3. Предотвращение утечек памяти - если эффект запускается повторно, старая подписка должна быть отменена до создания новой.

Пример:

JAVASCRIPT
useEffect(() => {
const timer = setInterval(() => console.log('Tick'), 1000);
return () => clearInterval(timer); // очистка при размонтировании или изменении зависимостей
}, []);

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

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