更新过程会依次调用下面的函数,其中render和加载过程一样,没有差别。
componentWillReceiveProps(nextProps)
只要是父组件的render被调用,在render中被渲染的子组件就会经历更新的过程。不管父组件传给子组件的props有没有改变,都会触发子组件的此函数被调用。
注意:通过setState方法触发的更新不会调用此函数
shouldComponentUpdate(nextProps,nextState)
在更新过程中,React首先要去调用此函数,如果返回true,则继续更新并调用render;如果返回false,则立刻停止更新过程,也就不会引发后续的渲染了。
componentWillUpdate
render之前被调用
render
通知渲染页面
componentDidUpdate
render之后被调用
卸载过程
componentWillUnmount
当组件要从DOM树上删除之前,该函数会被调用,所以,它适合做一些清理工作。
注意:没有componentDidUnmount函数。
完整示例