组件生命周期
React 组件在实例化之后就开始了它的生命周期过程。
在使用组件以及state
和props
变化的时候会触发不同的生命周期方法。
以下是一个组件从开始到结束所调用的生命周期方法:
getDefaultProps
getInitialState
componentWillMount
render
componentDidMount
componentWillReceiveProps
shouldComponentUpdate
componentWillUpdate
componentDidUpdate
对于每个方法的详细说明可以参考官方文档:http://facebook.github.io/react/docs/component-specs.html
值得注意的是,由于 React 组件的生命周期方法实际上是一个类似「状态机」的存在,因此在render
方法中不能调用this.setState({})
方法 — 否则就会无限调用render
方法让程序陷入「崩溃」的状态。
React 组件在触发了 this.setState({})
方法之后,会依次调用 shouldComponentUpdate
, componentWillUpdate
, render
和 componentDidUpdate
方法,因此在使用组件的过程中我们只需要关注这几个方法的使用。