Back to questions
Junior — Middle
57
Объясните последовательность этапов существования и работы компонента в React, начиная с его создания и заканчивая удалением из DOM.
Companies where asked
TVision
Answer from AI
sobes.tech AI
В React жизненный цикл компонента проходит несколько ключевых этапов:
-
Монтирование (Mounting) — создание и вставка компонента в DOM.
- Конструктор (
constructor) — инициализация состояния и привязка методов. static getDerivedStateFromProps— обновление состояния на основе пропсов.render— возвращает JSX для отображения.componentDidMount— вызывается после вставки компонента в DOM, здесь можно запускать запросы или подписки.
- Конструктор (
-
Обновление (Updating) — происходит при изменении пропсов или состояния.
static getDerivedStateFromProps— обновление состояния.shouldComponentUpdate— решает, нужно ли перерисовывать компонент.render— обновление JSX.getSnapshotBeforeUpdate— получение информации перед обновлением DOM.componentDidUpdate— вызывается после обновления компонента.
-
Размонтирование (Unmounting) — удаление компонента из DOM.
componentWillUnmount— очистка таймеров, отмена подписок.
Пример с классом:
class MyComponent extends React.Component {
constructor(props) {
super(props);
this.state = { count: 0 };
}
componentDidMount() {
console.log('Компонент вставлен в DOM');
}
componentDidUpdate(prevProps, prevState) {
console.log('Компонент обновился');
}
componentWillUnmount() {
console.log('Компонент будет удалён из DOM');
}
render() {
return <div>{this.state.count}</div>;
}
}
В функциональных компонентах с хуками аналогичные этапы реализуются через useEffect с разными зависимостями.