将 apollo useQuery 挂钩与汇总捆绑在一起

bundling apollo useQuery hook with rollup

我正在尝试创建一个使用 useQuery

导出功能的包

但是我收到以下错误:

Could not find "client" in the context or passed in as an option. Wrap the root component in an <ApolloProvider>, or pass an ApolloClient instance in via options.

这甚至是最简单的例子,它只导出 useQuery(obvs 真实代码做的比这更多)

我知道我的代码没问题,否则就好像我使用

导入 useQuery
import { useQuery } from '@apollo/react-hooks'

效果很好

简单的例子在这里..

https://github.com/gilesbradshaw/use-query

使用的hook和ApolloProvider应该来自同一个模块,否则hook使用的context会和ApolloProvider提供的不一样。除了钩子之外,您还应该在包中导出 ApolloProvider,然后确保在使用钩子的任何地方都从包中导入它。