首页 > 解决方案 > 如何用阿波罗链接错误显示一个漂亮的错误

问题描述

我有 apollo-link-error 的问题,我可以记录错误,但我想显示一个带有错误的模式或在另一个页面上显示它,是否可以不处理每个请求的错误?

反应,阿波罗客户端/服务器,https://github.com/kriasoft/react-starter-kit/tree/feature/apollo-pure

    onError(({ graphQLErrors, networkError, response  }) => {
      console.log(graphQLErrors);
      if (graphQLErrors) {
        graphQLErrors.map(({message, locations, path, extensions}) => {
          console.warn(
            `[GraphQL error]: Message: ${message}, Location: ${locations}, Path: ${path}`,
          );
          if (extensions && extensions.exception && (extensions.exception.code === 16 || extensions.code === 'UNAUTHENTICATED')) {
            // UNAUTHENTICATED
            response.errors = null;
            history.push('/login');
          }
        });
      }
      if (networkError) console.warn(`[Network error]: ${networkError}`);
    }),

现在,如果在渲染时发生错误,我可以用错误边界捕获错误,并以一种漂亮的方式显示它。但是当渲染后发生错误时,它会被忽略

标签: reactjserror-handlingapolloreact-apollo

解决方案


推荐阅读