阿波罗客户端执行突变时错误



又来了一个我不太明白的问题。

我正在使用阿波罗客户端(与react)与我的GraphQL服务器通信。

当我尝试执行突变时,我得到一个错误,我不知道问题来自哪里,因为其他突变工作得很好。

这是我遇到问题的突变:

const DELETE_USER_MUTATION = gql`
mutation deleteUser($id: ID!) {
deleteUser(id: $id) {
id
}
}
`; 

当我在GraphQL playground中输入它时,突变工作得很好…

这就是我如何调用突变(由按钮点击触发):

<button
onClick={() =>
deleteUser({
variables: {
id: user.id,
},
})
}>

注:user.id是查询得到的,是合法的。

最后,deleteUser函数是这样定义的(使用useMutation钩子)

const [deleteUser, { error }] = useMutation(DELETE_USER_MUTATION, {
refetchQueries: [{ query: GET_USERS_QUERY }],
});

附带说明一下,如何调试这样的错误?在控制台上,我得到一个错误400,我认为这意味着这可能是突变本身的错误。但是我没有得到关于错误的更多信息……我想抓住它,但没有用。

谢谢!

我能够解决这个问题,我真不敢相信我没有早点意识到这个问题。

检查用户类型后。id,我意识到它是一个字符串而不是整数。将其转换为Int有效。

然而,我现在有一些缓存问题…是时候做更多的研究了

相关内容

  • 没有找到相关文章

最新更新