6

当我useMutation与 react native 一起使用时,我收到了一个未处理的承诺拒绝错误。这是产生问题的代码:

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

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

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

在此处输入图像描述

4

2 回答 2

1

你的createUser变异是一个承诺,你应该在块内处理错误,或者在apollo-link-error方法try catch的上层范围内处理错误。 onError

于 2019-12-24T17:51:35.557 回答
0
const [createUser, { data, loading }] = useMutation(CREATE_USER_MUTATION, {
  onError: (err) => {
      setError(err);
  }
});

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

于 2021-04-30T08:18:23.547 回答