我逐渐将Apollo整合到一个相当实质的React / Redux应用程序中。我暂时不想在ApolloProvider
中包装我的React应用程序。我想为不同的GraphQL端点支持多个ApolloClient
实例,我不太喜欢嵌套提供程序的想法(我已经使用了Redux' s Provider
)。一般来说,我试图在"到Apollo并在几个特定的地方明确添加它。这是我的动机,现在这是我的问题:
通过props直接向ApolloClient
组件提供Query
实例似乎是合理的。这样我们就可以明确地了解数据源,并且可以支持多个客户端。这似乎有效:
const client = new ApolloClient({
uri: "https://w5xlvm3vzz.lp.gql.zone/graphql"
});
...
<Query client={client} variables={...} query={}>
...
</Query>
我唯一担心的是这种方法是在控制台中出现错误:
Uncaught Error: Could not find "client" in the context of Query or as passed props. Wrap the root component in an <ApolloProvider>
有关避免此错误消息的任何想法?我意识到使用ApolloProvider
来注入客户端更为典型,但对于我的情况,我更喜欢将它作为道具传递的明确性和灵活性。它似乎工作,但我想避免控制台错误。
谢谢!