- react 生命周期(旧)
- react旧版生命周期包含三个过程
- 挂载过程
constructor():完成了React数据的初始化。
componentWillMount():组件已经完成初始化数据,但是还未渲染DOM时执行的逻辑,主要用于服务端渲染。
componentDidMount():组件第一次渲染完成时执行的逻辑,此时DOM节点已经生成了。
- 更新阶段
componentWillReceiveProps(nextProps):接收父组件新的props时,重新渲染组件执行的逻辑。
shouldComponentUpdate(nextProps,nextState):在setState以后,state发生变化,组件会进入重新渲染的流程时执行的逻辑。在这个生命周期中return false可以阻止组件的更新,主要用于性能优化。
componentWillUpdate (nextProps,nextState):shouldComponentUpdate返回true以后,组件进入重新渲染的流程时执行的逻辑。
render():页面渲染执行的逻辑,render函数把jsx编译为函数并生成虚拟dom,然后通过其diff算法比较更新前后的新旧DOM树,并渲染更改后的节点。
componentDidUpdate(prevProps,prevState)
:重新渲染后执行的逻辑。
- 卸载过程
componentWillUnmount():组件的卸载前执行的逻辑,比如进行“清除组件中所有的setTimeout、setInterval等计时器”或“移除所有组件中的监听器removeEventListener”等操作。