单击按钮执行 GraphQL-Mutation

Execute GraphQL-Mutation on Button-Click

我正在尝试将 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

但是,我不太明白这个错误。那么我必须在哪里调用该函数?

更改由 useMutation 返回的函数的名称似乎已经成功了。我将它从 useTestProgramMutation 更改为 testProgramMutation

现在可以编译了。如果有人知道这是为什么,我会非常想知道。