如何解决执行突变时 Apollo 客户端错误
这里又是一个我似乎无法弄清楚的问题。
我正在使用 Apollo Client(带有 react)与我的 GraphQL 服务器进行通信。
当我尝试执行突变时出现错误,我不知道问题出在哪里,因为其他突变工作正常。
这是我遇到问题的突变:
const DELETE_USER_MUTATION = gql`
mutation deleteUser($id: ID!) {
deleteUser(id: $id) {
id
}
}
`;
当我在 GraphQL 游乐场中输入它时,突变工作正常......
这就是我所说的突变(由单击按钮触发):
<button
onClick={() =>
deleteUser({
variables: {
id: user.id,},})
}>
注意:user.id
是通过查询获得的,是有效的。
最后,deleteUser 函数是这样定义的(使用 useMutation
钩子)
const [deleteUser,{ error }] = useMutation(DELETE_USER_MUTATION,{
refetchQueries: [{ query: GET_USERS_QUERY }],});
顺便说一句,如何调试此类错误?在控制台上,我收到错误 400,我读到这意味着它可能是突变本身的错误。但我没有得到关于错误的更多信息......我试图抓住它但无济于事。
谢谢!
解决方法
我能够解决这个问题,我不敢相信我没有早点意识到这个问题。
检查 user.id 的类型后,我意识到它是一个字符串而不是一个整数。将其转换为 Int 有效。
但是我现在遇到了一些缓存问题...是时候进行更多研究了
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。