小编lup*_*pin的帖子

如果令牌过期,如何在 apollo 客户端中重定向或导航

我只是使用 React-Native 作为客户端并检查服务器中的验证令牌。

当我的 jwt 令牌过期时,服务器会将其通知给客户端。

然后,apollo-client 捕获 graphQL 错误。

我想导航到注销用户并使其进入登录表单。

但是,我不知道如何在我的 graphQL forEach 块中做到这一点,

因为我无法在导航容器之外使用反应导航。

有谁知道解决这个问题吗?

...
const cache = new InMemoryCache()
        await persistCache({
            cache,
            storage: AsyncStorage,
        })  
const clientState = (cache) =>
new ApolloClient({
    link: ApolloLink.from([
        ...
        onError(({ graphQLErrors, networkError }) => {
            if (graphQLErrors)
                graphQLErrors.forEach(
                    async ({ message, locations, path }) => {
                        console.log(
                            `[GraphQL error]: Message: ${message}, Location: ${JSON.stringify(
                                locations
                            )}, Path: ${path}`
                        )
                        if (
                            message ===
                            "You need to log in to perform this …
Run Code Online (Sandbox Code Playgroud)

apollo react-native react-apollo react-navigation

8
推荐指数
1
解决办法
1489
查看次数