Вопрос проверяет понимание жизненного цикла функциональных компонентов и умение отслеживать моменты монтирования и размонтирования.
Mount и unmount компонента отслеживаются с помощью useEffect. Эффект с пустым массивом зависимостей [] выполняется при монтировании. Cleanup-функция этого эффекта вызывается при размонтировании. Это функциональный аналог componentDidMount и componentWillUnmount.
В функциональных компонентах React жизненный цикл контролируется через useEffect.
Mount — момент, когда компонент впервые добавляется в DOM.
Unmount — момент, когда компонент удаляется из DOM.
useEffect(() => {
console.log("component mounted");
}, []);
Пустой массив зависимостей означает запуск эффекта только после первого рендера.
Эффект выполняется один раз (за исключением StrictMode в dev).
useEffect(() => {
return () => {
console.log("component unmounted");
};
}, []);
React вызывает cleanup-функцию.
Компонент удаляется из DOM.
Все связанные ресурсы должны быть очищены.
Логирование жизненного цикла.
Подписки / отписки.
Инициализация и очистка сторонних библиотек.
useEffect с пустым массивом зависимостей — стандартный и надёжный способ отследить mount и unmount компонента.