官方文档: 说该生命周期函数很适合发送ajax请求,那么在请求的回调中可以更新setState吗
This is also a good place to do network requests as long as you compare the current props to previous props (e.g. a network request may not be necessary if the props have not changed).
可以的话,那它的使用场景和componentWillReceiveProps又有什么区别?还有它这种使用方式多吗
可以的,可以利用componentDidUpdate的参数prevProps或prevState,比较上一次更新的值和现更新的值,如果值一样就没有必要请求接口了,以prevState为例
if (this.state.xxx !== prevState.xxx) {
}
这里的this.state.xxx指的是当前更新的值;prevState.xxx指的是上一个更新的值;这个判断会阻止异步不断的请求接口,componentDidUpdate组件初始化时不调用,如果页面需要初始化的时候,可以再次调用异步等