首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >迁移到阿波罗客户端3.0后,使用"withApollo“临时抛出无法找到客户端上下文错误

迁移到阿波罗客户端3.0后,使用"withApollo“临时抛出无法找到客户端上下文错误
EN

Stack Overflow用户
提问于 2020-01-08 10:18:58
回答 1查看 360关注 0票数 1

成功地拔出了一个带有问题的代码框,请有一个看这儿

在使用react时,一切都很好--阿波罗2.5,现在我们已经开始了迁移到3.0的过程。

package.json相关部分的快照

代码语言:javascript
复制
    "@apollo/client": "^3.0.0-beta.19",
    "@apollo/react-components": "^3.1.3",
    "@apollo/react-hoc": "^3.1.3",

现在我得到了下面的错误

代码语言:javascript
复制
Could not find "client" in the context of ApolloConsumer. Wrap the root component in an <ApolloProvider>.

我的应用程序最外层的组件确实是ApolloProvider,

迁移后导入ApolloProvider的方式如下所示

代码语言:javascript
复制
import { ApolloProvider } from "@apollo/client";

此外,我还注意到从"@apollo/react-hoc"导入withApollo hoc,正如迁移文档中提到的那样。

迁移不是仅仅改变了package.json和导入中的版本吗?或者,在创建阿波罗客户端实例时,我需要知道什么是具体的吗?

下面是用于创建客户端实例的代码。

代码语言:javascript
复制
import { ApolloClient, HttpLink, InMemoryCache } from '@apollo/client';

const cache = new InMemoryCache();

const client = new ApolloClient({
  link: new HttpLink({
    uri: process.env.REACT_APP_GRAPHQLURL,
  }),
  cache,
  connectToDevTools: true
});
EN

回答 1

Stack Overflow用户

发布于 2021-02-17 23:17:31

根据迁移文档,不应该从withApollo自定义导入@apollo/react-hoc

您应该使用来自@apollo/client的特殊包。

代码语言:javascript
复制
import { withApollo } from "@apollo/client/react/hoc";

https://www.apollographql.com/docs/react/migrating/apollo-client-3-migration/#apolloreact-hoc-and-apolloreact-components

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59643723

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档