> Как работает жизненный цикл React-компонентов (React)
Уровень: senior · Роль: frontend · Категория: Технические вопросы
Компании: Инрэко, Точка, Kvando Technologies, ООО Премиум ИТ Солюшен, Kodix, Spotware, Aston, IT-One, EPAM, Сбер, SmartWay
Стек: React
> Пример ответа
Жизненный цикл React-компонентов - это последовательность этапов, которые проходит компонент от момента создания до удаления из DOM. В классовых компонентах он явно управляется методами, а в функциональных через хуки, такие как useEffect.
Основные фазы:
-
Монтирование (Mounting) - компонент вставляется в DOM. В классовых компонентах используются
constructor,static getDerivedStateFromProps,renderиcomponentDidMount. В функциональных -useEffectс пустым массивом зависимостей ([]) для выполнения кода после первого рендера. -
Обновление (Updating) - происходит при изменении props или state. Классовые методы:
shouldComponentUpdate,render,componentDidUpdate. В функциональных -useEffectс указанием зависимостей, которые отслеживают изменения. -
Размонтирование (Unmounting) - компонент удаляется из DOM. В классах -
componentWillUnmount, в функциональных - функция очистки внутриuseEffect, возвращаемая из колбэка.
Пример на функциональном компоненте:
JSXimport { useEffect, useState } from 'react';function Timer() {const [count, setCount] = useState(0);useEffect(() => {const interval = setInterval(() => setCount(c => c + 1), 1000);return () => clearInterval(interval); // очистка при размонтировании}, []); // пустой массив - только при монтированииuseEffect(() => {console.log('Count обновился:', count);}, [count]); // срабатывает при изменении countreturn <div>{count}</div>;}
В современных React-приложениях рекомендуется использовать функциональные компоненты с хуками, так как они упрощают управление состоянием и побочными эффектами, заменяя громоздкие методы классового подхода.
> Похожие задачи по frontend
Как реализовать React компонент с текстовым полем для запроса к API, отображением результатов, индикатором загрузки и обработкой ошибок?
В чем отличие useEffect от useLayoutEffect в React
Как работает useRef хук в React и для чего он используется
Что такое React.memo и как он помогает оптимизировать рендеринг
> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?
Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью