使用useMutation可能出现未处理的承诺拒绝警告

时间:2019-08-10 15:21:03

标签: react-apollo react-apollo-hooks

当我将useMutation与本机反应一起使用时,出现了未处理的承诺拒绝错误。这是产生问题的代码:

const [createUser, { error, loading }] = useMutation(CREATE_USER_MUTATION);

每当我的graphql服务器向客户端返回错误时,我都会收到未处理的承诺拒绝错误(以下屏幕截图)。通过添加这样的错误处理程序,我可以使它消失,但这似乎是一种hack。有什么想法吗?我是在做错什么,还是阿波罗族应该解决的问题?

const [createUser, { error, loading }] = useMutation(CREATE_USER_MUTATION, {
  onError: () => {}
});

enter image description here

2 个答案:

答案 0 :(得分:0)

您的MemoryStream突变是一个承诺,您应该在createUser块内或在apollo-link-error try catch方法内的较高范围内处理错误。

答案 1 :(得分:0)

const [createUser, { data, loading }] = useMutation(CREATE_USER_MUTATION, {
  onError: (err) => {
      setError(err);
  }
});

有了这个,我们可以通过加载和正确的错误处理来访问数据。

相关问题