React-Apollo处理错误与本机反应

时间:2018-06-18 16:59:28

标签: reactjs react-native graphql react-apollo

我正在使用react-apollo构建一个react native应用程序。我无法处理graphql错误。我尝试了一些方法,但它不起作用。我怎样才能捕获graphql错误? 这是我的代码;

export default compose(
  graphql(UpdateCounter, {
    options: {
      fetchPolicy: 'cache-and-network'
    },
    props: (props) => ({
      appSyncUpdateCounter: (post) => {
        props.mutate({
          variables: post,
          optimisticResponse: () => console.log('...'),
          update: (cache, mutationResult) => {
            console.log(JSON.stringify(mutationResult, null, 2));
            if (mutationResult.data.updateCounter) {
              console.log(mutationResult.data.updateCounter);
            }
          },
        }).catch((e) => { console.log(e.graphQLErrors); });
      }
    }),
  }),
)(Counter);

1 个答案:

答案 0 :(得分:0)

由于包装了Counter组件,因此需要调用并捕获该promise。另外,我将使用react-apollos新的Mutation组件并将其包装在<ErrorBoundary />中。它将代替上面的代码。