【发布时间】:2018-10-08 13:17:19
【问题描述】:
我被困住了。听我说:
如果一个数组让我们说 arr=[{id:100,names:["abc","xyz"]}, {id:101,name:["def","pqr"]}] 在 props 内;
现在我的要求是这样的:
onSave = () => {
this.state.arr.map(obj => {
this.setState({ [obj.id]: obj.names }}
});
this.accessNumIds();
}
问题是当
accessNumIds()执行时,状态尚未更新。我不能把这个函数放在setState的callback()中,因为我希望这个函数只调用一次。
有什么想法吗?
【问题讨论】:
-
setState()是异步的,所以首先映射/减少并按照@riwu 的建议只调用一次setState()。
标签: javascript reactjs ecmascript-6