【发布时间】:2019-02-08 12:17:09
【问题描述】:
我想找到一种方法将来自 axios 的即将响应的响应与当前状态的属性进行比较,并且只有当它们不同时,才使用带有响应的 setState 来替换该属性。否则跳过setState的使用,因为它们是相等的
componentWillReceiveProps(nextProps: Readonly<Props>, nextState: Readonly<State>): boolean {
if (nextProps.isReloading !== this.state.isReloading) {
// HERE we just confirm to proceed and change this prop
this.setState({
isReloading: nextProps.isReloading,
});
getData('/some-end-point')
.then((response: any) => {
const newItems = response.data;
已经记录并确认它们相等,但下一行返回 NO
this.state.items == newItems ? 'YES' : 'NO';
然后,只有在不同的情况下,才用新的状态更新当前状态
})
.catch((error: any) => {
console.log(error);
});
return true;
}
return false;
}
【问题讨论】:
标签: reactjs typescript axios setstate