Как отследить mount и unmount компонента?
Почему setInterval нужно очищать при размонтировании компонента?
Что произойдёт, если не очистить интервал при unmount?
Специализация
Python Backend Developer
Java Backend Developer
Node.js Backend Developer
Golang Backend Developer
React Frontend Developer
Выберите навыки
React
JavaScript
Git
Redux
Webpack
Сложность
1-3
4-6
7-8
9-10
Рейтинг вопросов
1
2
3
4
5
Подпишись на React Developer в телеграм
Рейтинг:
5
Сложность:
4
Mount и unmount компонента отслеживаются с помощью useEffect. Эффект с пустым массивом зависимостей [] выполняется при монтировании. Cleanup-функция этого эффекта вызывается при размонтировании. Это функциональный аналог componentDidMount и componentWillUnmount.
Рейтинг:
5
Сложность:
4
setInterval продолжает работать даже после того, как компонент исчез со страницы, потому что он живёт отдельно от React. Если интервал не очистить, он будет дальше выполнять код, тратить ресурсы и может пытаться обновлять state уже размонтированного компонента. Это приводит к лишним вычислениям, странным багам и предупреждениям в консоли. Поэтому таймеры нужно останавливать в cleanup-функции useEffect.
Рейтинг:
5
Сложность:
3
Если интервал не очистить, он продолжит выполняться даже после размонтирования компонента. Это приведёт к лишней нагрузке на браузер и возможным попыткам обновить состояние несуществующего компонента. Со временем такие интервалы накапливаются и вызывают утечки ресурсов. В сложных приложениях это может приводить к трудноуловимым багам.