初始化
constructor(props)
构造方法, 组件被创建的时候调用, props 是父组件传递过来的属性对象, 必须在这个方法中首先调用 super(props); 才能保证 props 被传入组建中componentWillMount
组件被挂载到 DOM 之前调用, 且只会被调用一次.render
该方法返回一个 react 元素用于描述组件的 UI, 不能在这个方法中调用 this.setState(), 否则会造成死循环componentDidMount
组件被挂载到 DOM 上之后调用, 且只会被调用一次, 依赖 DOM 节点的操作可以在这里执行
更新
componentWillReceiveProps(nextProps)
props 引起的组件更新时才会调用, 即父组件的 render 方法被调用的时候, 如果当前子组件的 props 被改变则此方法被调用shouldComponentUpdate(nextProps, nextState)
组件更新之前调用, 接受下一个状态的 props 和 state, 借此判断当前组件是否需要更新, return false; 时组件停止更新, 接下来的生命周期方法都不会执行.componentWillUpdate(nextProps, nextState)
每次组件更新之前都会调用render
重新执行 render 方法更新组件componentDidUpdate(prevProps, prevState)
每次组件更新完成之后调用, 两个参数代表更新之前的 props 和 state
卸载
componentWillUnmount
组件被卸载前调用, 可以做一些清除操作, 清除定时器/清除手动创建的 DOM 元素 等