当父组件重新渲染的时候,会触发子组件componentWillReceiveProps和shouldComponentUpdate两个方法的执行。nextProps会以参数的形式传递给这两个方法,他们之间是否有什么区别与联系?
1 | class Demo extends React.Component { |
执行顺序
- componentWillReceiveProps
- shouldComponentUpdate
- render
执行时机
componentWillReceiveProps不关心返回值,一般在这里根据props来更新stateshouldComponentUpdate无论前者返回什么都会被调用,在这里判断是否调用render
componentWillReceiveProps已经在React16.3+中被列为deprecate方法,不仅是这个,还包括componentWillUpdate、componentWillMount等方法。可以通过这里查看详情。

