Методы жизненного цикла компонента в React делятся на три фазы:
1. Монтирование (Mounting):
constructor(): Вызывается перед монтированием компонента. Используется для инициализации состояния и привязки методов.static getDerivedStateFromProps(props, state): Вызывается перед рендерингом. Позволяет обновить состояние на основе новых пропсов. Должен вернуть объект для обновления состояния или null.render(): Обязательный метод, возвращает React-элементы для отображения.componentDidMount(): Вызывается после монтирования (после первого рендера). Подходит для сетевых запросов, подписок и работы с DOM.2. Обновление (Updating):
static getDerivedStateFromProps(props, state): Вызывается перед рендерингом при каждом обновлении (как и при монтировании).shouldComponentUpdate(nextProps, nextState): Позволяет оптимизировать производительность, возвращая false, если рендер не нужен. По умолчанию возвращает true.render(): Вызывается при каждом обновлении компонента.getSnapshotBeforeUpdate(prevProps, prevState): Вызывается непосредственно перед тем, как последнее отображение будет выведено в DOM. Позволяет получить информацию о DOM (например, положение скролла) перед потенциальными изменениями. Возвращаемое значение передается в componentDidUpdate.componentDidUpdate(prevProps, prevState, snapshot): Вызывается после обновления компонента (после каждого рендера после первого). Подходит для выполнения действий после обновления DOM.3. Размонтирование (Unmounting):
componentWillUnmount(): Вызывается непосредственно перед удалением компонента из DOM. Используется для очистки (отписки, отмены таймеров и т.д.).Обработка ошибок:
static getDerivedStateFromError(error): Вызывается при возникновении ошибки в дочернем компоненте. Позволяет обновить состояние, чтобы показать fallback UI.componentDidCatch(error, info): Вызывается при возникновении ошибки в дочернем компоненте. Позволяет логировать информацию об ошибке.