connect
- это HOC, охватывающий ваш компонент, поэтому метод жизненного цикла компонента следует после жизненного цикла подключения.Для простого понимания, вы можете думать, что connect написан так:
const connect = (mapStateToProps, mapDispatchToProps) => (Component) => {
return class ReduxApp extends React.Component {
// lifecycle of connect
render() {
return (
<Component {...mapStateToProps(state)} />
)
}
}
}
Теперь, когда ваше состояние обновляется, connect будет мелко сравнивать список реквизитов, которые будут возвращены в Компонент, и, если есть изменения, обновлять реквизиты, после чего метод жизненного цикла компонента запускается так же, как обновляется реквизит.
Короче говоря, выполнение изначально равно
Connect (DATA AVAILABLE) -> constructor & componentWillMount & componentDidMount
Как только данные обновляются
Connect (DATA AVAILABLE) -> componentWillReceiveProps/getDerivedStateFromProps -> componentWillUpdate -> render -> componentDidUpdate