作者:夏石兵 | 来源:互联网 | 2023-02-05 15:04
我一直在审查Apollo文档,但我没有看到如何在Apollo客户端中处理服务器错误的信息.
例如,假设服务器要么:
超时
变得无法到达
出乎意料地失败了
如何在客户端处理?Apollo目前失败,出现以下错误:
未处理(在react-apollo中)错误:GraphQL错误:不能......
我想避免这种情况发生并处理这些错误.我怎么能用React Apollo这样做?
以供参考:
我目前正在使用React-Apollo和Redux.
1> stubailo..:
错误在error
组件道具的字段中传递:http://dev.apollodata.com/react/api-queries.html#graphql-query-data-error
function MyComponent({ data }) {
if (data.error) {
return Error!
;
} else {
// ...
}
}
export default graphql(gql`query { ... }`)(MyComponent);
如果我们检测到存在错误并且error
组件中未访问该字段,则会打印该消息.
您可以编写一个更高阶的组件来以通用方式处理错误,这样您就可以用它包装所有组件.