Назад к вопросам
Бюро 1440
Middle
3
Расскажите про жизненный цикл React-компонента: основные этапы mount, render, unmount.
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
Жизненный цикл React-компонента включает несколько основных этапов:
-
Mount (монтирование) — создание компонента и вставка его в DOM.
- В классовых компонентах вызывается конструктор, затем
render(), после чего срабатываетcomponentDidMount(). - В функциональных компонентах с хуками — сначала вызывается функция компонента, затем эффект
useEffectс пустым массивом зависимостей.
- В классовых компонентах вызывается конструктор, затем
-
Render (рендеринг) — процесс генерации виртуального DOM на основе текущего состояния и пропсов.
- Вызывается метод
render()в классовых компонентах. - В функциональных компонентах — вызов функции компонента.
- Рендер может происходить при изменении состояния (
setState) или пропсов.
- Вызывается метод
-
Update (обновление) — происходит при изменении состояния или пропсов.
- В классовых компонентах вызываются методы
shouldComponentUpdate(),componentDidUpdate(). - В функциональных компонентах — повторный вызов функции компонента и хуков.
- В классовых компонентах вызываются методы
-
Unmount (размонтирование) — удаление компонента из DOM.
- В классовых компонентах вызывается
componentWillUnmount()для очистки ресурсов. - В функциональных компонентах — функция очистки в
useEffect.
- В классовых компонентах вызывается
Пример с функциональным компонентом и хуками:
import React, { useEffect } from 'react';
function MyComponent() {
useEffect(() => {
// componentDidMount
console.log('Mounted');
return () => {
// componentWillUnmount
console.log('Unmounted');
};
}, []);
return <div>Hello, React!</div>;
}
Таким образом, жизненный цикл управляет созданием, обновлением и удалением компонента, обеспечивая возможность выполнять побочные эффекты и оптимизировать работу приложения.