React-Query,尽管响应 204,但突变错误

问题描述

我正在尝试通过 react-query 使用我的 api 的删除方法。我试过这个:

const { isLoading,mutate } = useMutation(() => api.remove(path,item.id),{
    onSuccess: () => {
        openModal();
        refetchData();
    },});

...

<button onClick={() => mutate()}>Remove element</button>

但是当它执行时,我收到此错误消息:

SyntaxError: Unexpected end of JSON input at Api.tsx:104

这不是问题,因为我的 api 因为尽管有此错误消息,但操作已在数据库上完成。 我已经在 Insomnia 上对其进行了测试,它可以正常工作,我的结果是 204。

我的代码有没有搞错?

提前致谢!

解决方法

您没有显示 api.remove 正在做什么,所以我不得不猜测那里有一些 json 解析错误。

react-query 不关心状态代码,它关心已解决的承诺(导致 success 状态)或被拒绝的承诺(导致 error 状态)。如果您的客户端 api 函数有一些 javascript 运行时错误,则会因此导致错误状态。