如何使用react-hooks在一个地方处理阿波罗错误?

时间:2020-01-09 13:48:44

标签: graphql react-hooks react-apollo apollo-client

我正在使用带有钩子+ 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吗? 预先感谢。

0 个答案:

没有答案