Con*_*lub 5 javascript loops promise async-await reactjs
我有一个forEach在子组件的循环中运行的函数,该函数必须过滤数据并用结果更新状态。问题是,当我使用循环迭代该函数时,该函数同时运行并且在此期间,状态将无法使用数据正确更新。问题是如何更好地实现它,可能有一种方法可以使用 Promise 或 async /await 或者更简单的方法来实现。根据需要放入队列并等待状态更新。
简化的代码在这里是
组件子组件
this.props.data.forEach((item, i) => {
this.props.update(item);
});
Run Code Online (Sandbox Code Playgroud)
组件父组件
function update(data) {
let filtered = this.state.data.filter(item => item.uid !== data.uid);
this.setState({data: filtered});
}
Run Code Online (Sandbox Code Playgroud)
如果我理解得很好,你需要这样的东西:
update = () => {
let filtered = this.state.data.filter(x => this.props.data.every(y => x.uid !== y.uid))
this.setState({
data: filtered
})
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4947 次 |
| 最近记录: |