Когда запускается эффект с пустыми зависимостями

Эффект устанавливает интервал после монтирования, а cleanup удаляет его при размонтировании. В Strict Mode разработки возможен дополнительный проверочный цикл установки и очистки.

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

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

Эффект устанавливает интервал после монтирования, а cleanup удаляет его при размонтировании. В Strict Mode разработки возможен дополнительный проверочный цикл установки и очистки.

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

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

Условие

Компонент React содержит useEffect(() => { const id = setInterval(tick, 1000); return () => clearInterval(id); }, []). Когда создаётся интервал и когда происходит очистка?

Ответ

Эффект устанавливает интервал после монтирования, а cleanup удаляет его при размонтировании. В Strict Mode разработки возможен дополнительный проверочный цикл установки и очистки.

Пустой массив исключает повторный запуск из-за обычного изменения props или state. Новый экземпляр компонента, например после смены key, снова выполнит эффект. Функция tick из первого render может замкнуть старые данные; при зависимости от текущих значений нужно пересмотреть зависимости или использовать функциональное обновление state.

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

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

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

Подробнее