我正在尝试将一个GraphQL-mutation连接到我的React-app中的一个按钮上。到目前为止,我尝试这样做:
const Component = () => {
...
const [useTestProgramMutation, {data, loading, error}] =
useMutation(TESTPROGRAM_MUTATION);
...
return (
<>
<button onClick={() => useTestProgramMutation({
variables: {
examinationOrderId: order_id,
testProgramId: testProgram.id
}
})}>
Click me!
</button>
...
</>
)
}但是,编译失败,并显示以下错误:
React Hook "useTestProgramMutation" cannot be called inside a callback.
React Hooks must be called in a React function component or a custom React
Hook function react-hooks/rules-of-hooks然而,我并不真正理解这个错误。那么我应该在哪里调用这个函数呢?
发布于 2021-03-17 20:02:14
更改由useMutation返回的函数名似乎已经完成了这项工作。我把它从useTestProgramMutation改为testProgramMutation。
现在可以编译了。如果有人知道为什么会这样,我会很感兴趣的。
https://stackoverflow.com/questions/66671597
复制相似问题