Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

Документы

Медиа

Назад
Вопрос про React: unmount, setinterval

Что произойдёт, если не очистить интервал при unmount?

Этот вопрос проверяет понимание последствий неправильной работы с сайд-эффектами в React.

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

Если интервал не очистить, он продолжит выполняться даже после размонтирования компонента. Это приведёт к лишней нагрузке на браузер и возможным попыткам обновить состояние несуществующего компонента. Со временем такие интервалы накапливаются и вызывают утечки ресурсов. В сложных приложениях это может приводить к трудноуловимым багам.

Длинный ответ

Хотя компонент визуально исчезает, JavaScript-код, связанный с интервалом, продолжает жить.

Основные последствия

  1. Утечка ресурсов

    • интервал продолжает работать в фоне без какой-либо пользы.

  2. Лишние вычисления

    • код внутри setInterval выполняется бесконечно.

  3. Попытки обновления state

    • если внутри есть setState, он будет вызываться после unmount.

  4. Нестабильное поведение приложения

    • могут обновляться общие объекты, сторы или кэш.

Почему React не останавливает интервал сам

  1. setInterval — это API браузера, а не React.

  2. React управляет рендерами, но не знает, какие таймеры вы запустили.

  3. Ответственность за завершение эффекта лежит на разработчике.

Вывод

Неочищенный интервал — это классический пример утечки ресурсов и одна из самых частых ошибок при работе с useEffect.

Уровень

  • Рейтинг:

    5

  • Сложность:

    3

Навыки

  • React

    React

Ключевые слова

#unmount

#setinterval

Подпишись на React Developer в телеграм