Apollo客户端使用突变不调用API



我正在尝试将useMutation用于我的graphql API,但它似乎没有进行任何调用,

这是代码

export async function bulkImport(importRequest: BulkImportRequest): Promise<string> {
const [postBulkImport, { data }] = useMutation(postBulkImportRequest, {
variables: importRequest,
});
await postBulkImport({ variables: importRequest });
return data?.requestId;
}

以及我在React组件中调用的CCD_ 2。

我正在尝试使用useMutation而不是mutate重写下面的代码。波纹管代码工作正常。

export async function bulkImport(importRequest: BulkImportRequest): Promise<string> {
const response = await mutate(postBulkImportRequest, importRequest);
return response?.data?.postBulkImportRequest?.requestId;
}

我不确定当我使用useMutation时我遗漏了什么,实际上我不确定它们是否相同。

如有任何建议,将不胜感激

useMutation是React Hook,因此只能从React功能组件的顶层使用。

当您尝试从bulkImport函数中使用它时,不会发生任何事情,因为它不在React组件的顶级。

为了成功地使用useMutation,您需要(非常显著地(重写您的组件。

最新更新