@apollo/client 、 apollo-client 和 apollo boost 之间的区别
Posted
技术标签:
【中文标题】@apollo/client 、 apollo-client 和 apollo boost 之间的区别【英文标题】:difference between @apollo/client , apollo-client and apollo boost 【发布时间】:2021-01-15 01:14:31 【问题描述】:我正在使用@apollo/client
来实现,但我没有看到@apollo/client
和react
的任何完整示例。
如果我搜索,我会得到 apollo-client
和 apollo boost
的示例。
这三个有什么区别。
我了解@apollo/client
是所有的新版本。 我在哪里可以获得带有react
应用程序的@apollo/client
的完整示例?
import ApolloClient, InMemoryCache, ApolloLink, createHttpLink, defaultDataIdFromObject from '@apollo/client';
import ApolloClient, InMemoryCache, ApolloLink from 'apollo-boost';
【问题讨论】:
【参考方案1】:只是为那些想知道他们是否仍应使用 Boost 的人添加已发布的答案。
来自文档:
Apollo Boost 项目现已退役,因为 Apollo Client 3.0 提供了类似的简单设置。我们建议删除所有 apollo-boost 依赖和修改你的 ApolloClient 构造函数 根据需要。
【讨论】:
【参考方案2】: 阿波罗升压Apollo Boost 包含一些我们认为对于使用 Apollo Client 进行开发必不可少的软件包。这是盒子里的东西:
apollo-client
: 神奇发生的地方
apollo-cache-inmemory
:我们推荐的缓存
apollo-link-http
:用于远程数据获取的 Apollo Link
apollo-link-error
:用于错误处理的 Apollo Link
graphql-tag
:为您的查询和突变导出 gql 函数
Apollo Boost 的绝妙之处在于您不必自己设置任何这些!如果您想使用这些功能,只需指定几个选项,剩下的交给我们。有关可用选项的完整列表,请参阅 Apollo Boost 配置选项文档。
见What's in Apollo Boost
阿波罗客户端旧版本(3.x以下)apollo客户端
@apollo/client最新版(3.x+)apollo客户端发布为Scoped packages
查看官方get started example
【讨论】:
我收到此错误。 React Hook "useQuery" 在函数 "getData" 中被调用,该函数既不是 React 函数组件也不是自定义 React Hook 函数 react-hooks/rules-of-hooks。我正在使用来自示例链接的相同 package.json 文件。我运行了您提供的示例链接,它工作正常。我使用 yarn create-reactapp 创建了应用程序。这是导致这个问题的原因吗?以上是关于@apollo/client 、 apollo-client 和 apollo boost 之间的区别的主要内容,如果未能解决你的问题,请参考以下文章
使用 React 钩子处理 graphQL 突变错误(useMutation + Apollo-client)
如何使用 Apollo 工具为查询生成 Typescript 类型,包括 Apollo @client 和 @rest 指令?
apollo 的 useQuery 数据在 client.resetStore() 之后没有更新