更新阶段(updating phase):这个阶段在组件的state或者props改变时发生。
- render:当组件被渲染的时候,实际上是得到了一个React元素,这个元素更新了虚拟DOM。
- componentDidUpdate:React会拿新的虚拟DOM与旧的虚拟DOM进行比较,然后将修改的部分更新到真实DOM。
在这个钩子函数中,我们可以决定何时进行Ajax请求。
componentDidUpdate(prevProps, prevState) {
console.log("prevProps", prevProps);
console.log("prevState", prevState);
if (prevProps.counter.value !== this.props.counter.value) {
// Ajax call and get new data from server
}
}