我认为这可能是错误或配置错误。我收到此错误:
networkError: ServerError: Response not successful: Received status code 500
第一次提交表单我会得到想要的结果,但是如果我再次点击提交按钮,我会收到上面的 networkError 消息。
const client = useApolloClient();
const [val, setValu] = useState({
email: 'example@example.com',
password: 'password',
texterror: {
status: false,
text: ''
},
})
//the submit function below:
const handleLogin = async (e) => {
e.preventDefault();
await client.query({
query: Handle_Login,
variables: {
email: val.email,
password: val.password
}
}).then((e) => {
console.log(e)
}).catch((e) => {
setValu({
texterror: {
status: true,
text: 'it be broke yo'
}
})
})
}
但是,如果我在 catch 中删除setValu({texterror: {status: true, text: 'it be broke yo'}})
,500 错误就会消失。我可以向提交按钮发送垃圾邮件,但不会收到 500 错误。
现在我不会在里面设置 setState 来避免这个问题,但我想知道这个问题是否有解决方案。
任何帮助,将不胜感激。先感谢您!