Lifecycle Flashcards

1
Q

Что такое жизненный цикл компонента?

A

Жизненный цикл компонента - это ряд этапов, через который может проходить компонент в React-приложении.

Всего принято различать 4 этапа: инициализация, монтирование, обновление, размонтирование. С каждым этапом связаны определенные методы жизненного цикла.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
1
Q

Что происходит на этапе инициализации?

A

При создании экземпляра вызывается метод класса Component contructor, в котором можно задать начальное состояние this.state.

Перед монтированием вызывается метод UNSAFE_componentWillMount, который ранее применялся для заполнения начальным состоянием методом this.setState появления ES6.

Перед отрисовкой вызывается метод getDerivedStateFromProps(props, state) => nextState, который должен вернуть будущее состояние по переданным текущим props и state, у метода отсутствует доступ к экземпляру компонента.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Что происходит на этапе монтирования?

A

Вызывается метод render для отрисовки компонента.

После отрисовки вызывается коллбек переданный в setState.

После отрисовки вызывается метод componentDidMount в завершении монтирования, который должен использоваться для вызова побочных эффектов.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Что происходит на этапе обновления перед перерисовкой?

A

Перед перерисовкой, вызванной старшим компонентом, вызывается UNSAFE_componentWillReceiveProps(nextProps), который применялся для установки состояния методом this.setState в зависимости от nextProps и this.props.

Перед перерисовкой вызывается UNSAFE_componentWillUpdate(nextProps, nextState), который может применялся для внесения изменений в DOM соответственно будущим nextProps и nextState.

Перед перерисовкой вызывается метод getDerivedStateFromProps(props, state) => nextState, который должен вернуть будущее состояние по переданным текущим props и state, у метода отсутствует доступ к экземпляру компонента.

Перед перерисовкой вызывается метод shouldComponentUpdate(nextProps, nextState) => true, который должен вернуть true для разрешения перерисовки компонента.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Что происходит на этапе обновления после перерисовки?

A

Вызывается метод render для перерисовки компонента.

После перерисовки вызывается коллбек переданный в this.setState.

После перерисовки перед внесением изменений в DOM вызывается метод getSnapshotBeforeUpdate(prevProps, prevState) => snapshot, который возвращает произвольный объект snapshot, который в свою очередь передается при вызове componentDidUpdate для адаптации интерфейса относительно прошлого состояния DOM.

После перерисовки вызывается метод componentDidUpdate(prevProps, prevState, snapshot), который используется для вызова побочных эффектов.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Что происходит на этапе размонтирования?

A

Перед размонтированием вызывается componentWillUnmount, который используется для удаления связанных побочных эффектов.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly