Node.js 如何在不刷新应用程序的情况下返回PUT请求的结果?
我做了一个PUT请求来切换图像,但要查看结果,我必须刷新应用程序。。我怎么能不提神呢 守则:Node.js 如何在不刷新应用程序的情况下返回PUT请求的结果?,node.js,reactjs,mongodb,axios,Node.js,Reactjs,Mongodb,Axios,我做了一个PUT请求来切换图像,但要查看结果,我必须刷新应用程序。。我怎么能不提神呢 守则: const Islbutton = props => { const [islIsOn, setIslIsOn] = useState(props.IslIsOn); const changeButtonStateIsl = () => { if (checkRole(role)) { axios .put("http://localhost:5
const Islbutton = props => {
const [islIsOn, setIslIsOn] = useState(props.IslIsOn);
const changeButtonStateIsl = () => {
if (checkRole(role)) {
axios
.put("http://localhost:5000/api/bns/" + bnsName, {
headers: {
Accept: "application/json",
"Content-Type": "application/json"
},
islIsOn: !islIsOn
})
.then(response => {
console.log(response);
})
.catch(error => {
console.log(error);
})
.finally(); // I assume it has to be here?
}
};
return (
<div>
<img
src={islIsOn ? islon : isloff}
onClick={() => changeButtonStateIsl()}
/>
</div>
);
};
如果这是SQL,我会做如下操作:Select*,其中IslIsOn=value 看起来您只需更改状态即可触发重新渲染
.then(response => {
// Set the state to true or false based on your response
...
setIslIsOn(true);
})
如果您想在PUT出错的情况下触发更改,那么您可以在finally部分设置状态。您能将代码的相关部分发布到要将结果放入的位置吗?可能需要一个虚拟组件来解释您想要什么。视图和收件人之间是否存在竞争条件?否则,您可以在响应后执行此操作?不需要。finally if empty。@Joe是的,我知道,但我只是假设将从数据库返回数据的代码是there@Estradiaz我使用put requestsend数据发送到服务器,这已经很好地工作了,我所要做的就是获取数据现在收回更新的数据,以使其完美地工作该死。。你给了我这个主意。。我所要做的就是:.thenresponse=>{setIslIsOn!islIsOn;}谢谢!