如何立即显示UPDATE结果



所以下面我调用一个查询来更新slack_id。这是在后端Index.js文件中。/update将在下一个代码段中被CRUD.js前端调用。

app.put("/update", (req, res) => {
const id = req.body.id;
const slack_id = req.body.slack_id;
db.query( "UPDATE developers SET slack_id = ? WHERE id = ?",[slack_id, id],
(err, result) => {
if (err) {
console.log(err);
} else {
res.send(result);
}
}
);
});

在这里调用/update。在Axios之后。我试图把一个声明,可以立即显示结果,而不需要刷新我的页面。我不知道是怎么回事。setdeveloperList包含值name, slack_id, selected, absent我正在更新这里的slack_id。

const updateDeveloper = (id) => {
Axios.put(`${url}/update`, { slack_id: newSlackID, id: id }).then(() => {
setdeveloperList(
developerList.filter((val) => {
return val.id !== id;
})
)
});
};

所以我自己发现了。

const updateDeveloper = (id) => {
Axios.put(`${url}/update`, { slack_id: newSlackID, id: id }).then(
(response) => {
setdeveloperList(
developerList.map((val) => {
return val.id === id
? {
id: val.id,
slack_id: newSlackID,
name: val.name,
selected: val.selected,
absent: val.absent
}
: val;
})
);
}
);
};

^^ This works

最新更新