Does onCompleted works with useMutation?

你离开我真会死。 提交于 2019-12-10 11:26:45

问题


I am using useMutation hook in react project. The mutation runs successfully but it's not reaching onCompleted afterwards.

I have set notifyOnNetworkStatusChange to true in the mutation but that doesn't seem to help.

const [createUser] = useMutation(SIGNUP_MUTATION);

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

回答1:


Looking at the api of useMutation it seems like you're using onCompleted in the wrong place. it should be part of the useMutation definition.

  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>
  );


来源:https://stackoverflow.com/questions/57732965/does-oncompleted-works-with-usemutation

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!