> Какие жизненные циклы есть у классовых компонентов и как они реализованы в функциональных (React)
Уровень: senior · Роль: frontend · Категория: Технические вопросы
Компании: Сбер
Стек: React
> Пример ответа
В классовых компонентах React жизненный цикл делится на три фазы: монтирование, обновление и размонтирование. Основные методы: componentDidMount, componentDidUpdate, componentWillUnmount. В функциональных компонентах эти этапы реализуются через хук useEffect, который объединяет их в одном месте.
-
Монтирование (аналог
componentDidMount):useEffect(() => { ... }, [])- выполняется один раз после первого рендера. -
Обновление (аналог
componentDidUpdate):useEffect(() => { ... }, [deps])- выполняется при изменении зависимостей в массивеdeps. -
Размонтирование (аналог
componentWillUnmount): возврат функции очистки внутриuseEffect:useEffect(() => { return () => { ... }; }, []).
Также есть редкие методы, такие как shouldComponentUpdate (оптимизация) - в функциональных компонентах заменяется React.memo или useMemo/useCallback. Метод getDerivedStateFromProps заменяется прямым вычислением состояния в рендере или через useMemo.
> Похожие задачи по frontend
Как реализовать кастомные алгоритмы в компонентах Material UI
Нужно ли мемоизировать данные, полученные из Redux селектора в компоненте
Как реализовать построение полного маршрута из массива билетов в React
Как происходит оптимизация с виртуальным деревом в React
> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?
Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью