挂载卸载/更新
componentWillMount componentDidMount
componentWillUnmount
运行一次
shouldComponentUpdate
componentWillUpdate componentDidUpdate
componentWillReceiveProps
setState 是一个异步方法,一个生命周期内所有的 setState 方法会合并操作
componentWillMount 里 setState 会和 初始化 state 合并执行,因此这是无意义的 setState
componentDidMount 中 setState 会导致渲染两遍,应该尽量避免。除了获取DOM元素位置或者宽高等
componentWillUnmount 中 setState 不会更新 state,是不生效而且无意义的
shouldComponentUpdate 或 componentWillUpdate 里调用 setState 会再次触发这两个函数,然后在两个函数又触发了 setState,死循环..
componentDidUpdate 执行 setState 渲染两遍,如非必须,尽量避免
componentWillReceiveProps 中 setState,不会造成二次渲染,可以放心setState