Что такое функция очистки (cleanup) в useEffect? Когда она отрабатывает? Напиши её в useEffect.

Cleanup — возвращаемая из useEffect функция: она освобождает ресурсы перед повторным запуском эффекта с новыми зависимостями и при размонтировании.

Короткий ответ

Что ответить на собеседовании

Cleanup — возвращаемая из useEffect функция: она освобождает ресурсы перед повторным запуском эффекта с новыми зависимостями и при размонтировании.

Подробный разбор

Ответ с пояснениями

Cleanup — возвращаемая из useEffect функция: она освобождает ресурсы перед повторным запуском эффекта с новыми зависимостями и при размонтировании.

Например, подписку на событие нужно снимать тем же обработчиком:

useEffect(() => {
  const handleResize = () => setWidth(window.innerWidth);
  window.addEventListener('resize', handleResize);
  return () => window.removeEventListener('resize', handleResize);
}, []);

При включённом Strict Mode разработческая проверка может дополнительно выполнить цикл setup/cleanup/setup. Очистка должна корректно соответствовать созданным эффектом ресурсам.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее