Назови компоненты жизненного цикл ?

Спросят с вероятностью 7%



Жизненный цикл
компонента состоит из нескольких этапов, которые можно разделить на три основные фазы: монтирование, обновление и размонтирование. Каждый из этих этапов включает в себя определённые методы цикла.



1️⃣Монтирование (Mounting):

constructor(): Вызывается перед монтированием компонента. Обычно используется для инициализации состояния и привязки методов.

staticgetDerivedStateFromProps(props, state): Вызывается перед рендером компонента как при монтировании, так и при обновлении. Используется для синхронизации состояния с пропсами.

render(): Обязательный метод, который возвращает JSX-разметку компонента.

componentDidMount(): Вызывается сразу после монтирования компонента. Здесь можно выполнять запросы к API или подписываться на события.



2️⃣Обновление (Updating):

staticgetDerivedStateFromProps(props, state): Как и при монтировании, вызывается перед рендером компонента для синхронизации состояния с пропсами.

shouldComponentUpdate(nextProps, nextState): Определяет, нужно ли компоненту перерисовываться. Можно использовать для оптимизации производительности.

render(): Ререндер компонента на основе новых пропсов или состояния.

getSnapshotBeforeUpdate(prevProps, prevState): Вызывается прямо перед тем, как изменённый DOM будет отображен. Полезно для сохранения информации о DOM, которая может измениться после обновления.

componentDidUpdate(prevProps, prevState, snapshot): Вызывается сразу после обновления компонента. Можно использовать для выполнения действий после обновления, таких как запросы к API на основе новых пропсов или состояния.



3️⃣Размонтирование (Unmounting):

componentWillUnmount(): Вызывается перед размонтированием и удалением компонента. Используется для очистки ресурсов, таких как таймеры, подписки или запросы.



Пример:

class MyComponent extends React.Component {

constructor(props) {

super(props);

this.state = { count: 0 };

}



static getDerivedStateFromProps(nextProps, prevState) {

// Синхронизация состояния с пропсами

if (nextProps.count !== prevState.count) {

return { count: nextProps.count };

}

return null;

}



componentDidMount() {

// Выполнение действий после монтирования

console.log('Component mounted');

}



shouldComponentUpdate(nextProps, nextState) {

// Оптимизация перерисовки

return nextState.count !== this.state.count;

}



getSnapshotBeforeUpdate(prevProps, prevState) {

// Сохранение информации о DOM

return null;

}



componentDidUpdate(prevProps, prevState, snapshot) {

// Выполнение действий после обновления

console.log('Component updated');

}



componentWillUnmount() {

// Очистка ресурсов перед удалением компонента

console.log('Component will unmount');

}



render() {

return (

<div>

<p>Count: {this.state.count}</p>

</div>

);

}

}


Жизненный цикл компонента включает три фазы: монтирование, обновление и размонтирование. В каждой фазе есть свои методы, которые выполняют определенные действия для управления состоянием и поведением компонента.



👉 Можно посмотреть Примеры как отвечают люди на этот вопрос, или перейти К списку 1429 вопроса на Frontend разработчика. Ставь 👍 если нравится контент



🔐 База собесов | 🔐 База тестовых