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

在使用react时,一切都很好--阿波罗2.5,现在我们已经开始了迁移到3.0的过程。
package.json相关部分的快照
"@apollo/client": "^3.0.0-beta.19",
"@apollo/react-components": "^3.1.3",
"@apollo/react-hoc": "^3.1.3",现在我得到了下面的错误
Could not find "client" in the context of ApolloConsumer. Wrap the root component in an <ApolloProvider>.我的应用程序最外层的组件确实是ApolloProvider,
迁移后导入ApolloProvider的方式如下所示
import { ApolloProvider } from "@apollo/client";此外,我还注意到从"@apollo/react-hoc"导入withApollo hoc,正如迁移文档中提到的那样。
迁移不是仅仅改变了package.json和导入中的版本吗?或者,在创建阿波罗客户端实例时,我需要知道什么是具体的吗?
下面是用于创建客户端实例的代码。
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
});发布于 2021-02-17 23:17:31
根据迁移文档,不应该从withApollo自定义导入@apollo/react-hoc
您应该使用来自@apollo/client的特殊包。
import { withApollo } from "@apollo/client/react/hoc";https://stackoverflow.com/questions/59643723
复制相似问题