【发布时间】:2020-09-10 11:12:24
【问题描述】:
我有
const [data, setData] = useState([]);
const getData = async () => {
const { data } = await axios.get('/getData');
setData(data.payload);
};
和一个从后端调用handleDelete的按钮
const handleDelete = async () => {
checked.forEach(async (element) => {
await axios.delete('/deleteData', {
data: { data: element },
});
});
await getData();
console.log(data);
};
数据从后端删除,我的组件依赖于 React 中的数据,由于某种原因,数据没有被更新。组件未使用新值进行更新。
有谁知道我可能做错了什么?非常感谢任何帮助。
【问题讨论】:
-
它可能与您使用
.forEach()的方式有关。数据可能已从后端正确删除,但不是在您请求实际获取数据之前。getData不会等到forEach完成后再开火。看到这个问题:stackoverflow.com/questions/37576685/… -
这能回答你的问题吗? Using async/await with a forEach loop
-
@zero298 非常感谢!就是这样!我不知道 foreach 不会等待。每天学习新东西!
标签: reactjs async-await