本文主要是介绍componentWillReceiveProps componentDidUpdate,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
componentWillReceiveProps(nextProps) {if(nextProps.count !== this.props.count) // doSomething}
}
componentDidUpdate(prevProps) {if(prevProps.count !== this.props.count) {this.setState({count: this.props.count})}
}
在React生命周期调用时机
componentWillReceiveProps在组件接受新的props之前触发,
componentDidUpdate在组件接受新的props之后触发
如果你想在组件收到新props之前做一些事情,你可以使用componentWillReceiveProps,如果你想在收到新的props或状态后做某事,你可以使用componentDidUpdate
更新state的方式
componentWillReceiveProps更新状态是同步的
componentDidUpdate更新状态是异步的
这点区别非常重要,也是componentWillReceiveProps生命周期被废弃的重要原因(可能导致某些问题), 所以推荐使用componentDidUpdate
这篇关于componentWillReceiveProps componentDidUpdate的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!