【发布时间】:2021-07-24 08:10:48
【问题描述】:
我试图从 HTML 表单将数据从前端(React)发送到后端(快递),并在提交后清除字段。这就是它的样子。这里 item 和 amount 是受控组件的状态。所以我的问题是我在获取它之前更新状态而不更新它。由于 fetch 和 setState 是异步的,因此哪个将首先执行。即使我在 fetch 之后写入状态更新,似乎 fetch 也是首先执行的。但我不知道怎么做?
function onSub(e, setList, list) {
e.preventDefault();
setList([...list, { item, amount }]);
setItem("");
setAmt("");
fetch("http://localhost:3001/addData", {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify({ title: item, amt: amount }),
})
.then((res) => res.text())
.then((data) => {
console.log(data);
});
}
【问题讨论】:
-
你为什么在乎?从您显示的代码来看,这两者无论如何都是相互独立的。
标签: javascript reactjs setstate