onCompleted是否可以与useMutation一起使用?

时间:2019-08-30 20:36:48

标签: react-apollo-hooks

我在react项目中使用useMutation钩子。变异成功运行,但之后未达到onCompleted。

我已将突变中的notifyOnNetworkStatusChange设置为true,但这似乎无济于事。

const [createUser] = useMutation(SIGNUP_MUTATION);

createUser({
  variables: {
     firstname,
     lastname,
     email
  },
  notifyOnNetworkStatusChange: true,
  onCompleted: (data) => {
     // not called
     confirm(data);
  }
});

1 个答案:

答案 0 :(得分:3)

查看useMutation的api,似乎您在错误的位置使用了onCompleted。它应该是useMutation定义的一部分。

  const [createUser] = useMutation(
    SIGNUP_MUTATION,
    {
      onCompleted(data) {
        confirm(data);
      }
    }
  );

  return (
    <div>
      <form
        onSubmit={e => {
          e.preventDefault();
          createUser({ variables: { firstname, lastname, email } }); // assuming `firstname`, `lastname` and `email` are defined somewhere.
        }}
      >
        <input type="text" />
        <button type="submit">Signup</button>
      </form>
    </div>
  );