graphql - 如何使用 react-hooks 在一个地方处理 apollo 错误?
问题描述
我正在使用带有钩子 + GraphQL 的 React。
我的 app.jsx:
import { onError } from 'apollo-link-error';
...
const httpLink = ...
const errorLink = onError(err => console.log(err))
const terminatingLink = split(...httpLink, errorLink)
const client = new ApolloClient({
link: ApolloLink.from([terminatingLink])
...
})
<ApolloProvider client={client}>
<ErrorProvider>
</ErrorProvider>
</ApolloProvider>
错误提供者用作错误的常见状态,即如果突变响应不好。目前我为每个(!)突变和查询创建 onError 处理程序,即像这样:
const [createTeam] = useMutation(createTeamQ, {
onError: (err) => { dispatchError(err) }
})
这看起来像过度编码,因为我经常这样做。但我无法弄清楚如何在从“apollo-link-error”导入的 onError() 函数中仅调度一次 AppolloClient 中的错误。我不能在那里使用钩子。我应该在这种特殊情况下使用 redux 吗?提前致谢。
解决方案
推荐阅读
- php - Laravel foreach 相同的记录多个
- java - 为 ListView 接收 BaseAdapter 的数据后,getView 返回 null
- r - 错误:包“RCUDA”的编译失败
- wso2 - WSO2 EI 的 GlowRoot
- javascript - 反应:启动画面/容器
- python - Python生日代码的语法错误
- angular - 使用刀片将 Angular5 集成到现有的 Laravel 项目中
- android - Delphi10.2 arm-linux-androideabi-ld.exe 问题 + android NDK
- socket.io - Socket.io 提交按钮
- javascript - 带有 ocLazyload 的 webpack 无法同时加载控制器和模板文件