gpt4 book ai didi

javascript - 将调用放入队列并等待更新 React.js 中的状态

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:41:21 24 4
gpt4 key购买 nike

我有一个在子组件的 forEach 循环中运行的函数,该函数必须过滤数据并使用结果更新状态。问题是,当我用一个循环迭代函数时,它同时运行,并且在这个循环中,状态将无法正确更新数据。问题是如何更好地实现它,可能有一种方法可以使用 Promise 或 async/await 或者更简单的方法来实现。根据需要放入队列,等待状态更新。

这里是简化代码
组件 child

this.props.data.forEach((item, i) => {
this.props.update(item);
});

组件父级

function update(data) {
let filtered = this.state.data.filter(item => item.uid !== data.uid);
this.setState({data: filtered});
}

最佳答案

如果我理解得很好,你需要这样的东西:

update = () => {
let filtered = this.state.data.filter(x => this.props.data.every(y => x.uid !== y.uid))
this.setState({
data: filtered
})
}

关于javascript - 将调用放入队列并等待更新 React.js 中的状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45914274/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com