如何解决React中的嵌套ApolloProviders
我正在开发一个微型前端应用程序。我们正在构建一个库来管理我们的所有用户数据,权限,角色等。
<ApolloProvider client={userManagementClient}>
{children}
</ApolloProvider>
这将在许多应用程序中使用,看起来像这样:
<ApolloProvider client={appClient}>
<UserManagementProvider><App /></UserManagementProvider>
</ApolloProvider>
问题在于应用程序的ApolloProvider无法正常工作,因为正在针对库的数据源而不是针对应用程序进行查询。
有人知道嵌套或多个ApolloProviders的方法吗?
解决方法
对于任何有兴趣的人:
无论从何处获取此提供程序,每个应用程序仅允许一个提供程序。您可以做的就是定义要用于查询,变异和订阅的客户端:
const link = ApolloLink.from([ /* ... */ ]);
const apolloClient = new ApolloClient({ link,cache: new InMemoryCache() });
const status = useQuery<GetUserQuery>(
userQuery,{
variables: {
email
},client: apolloClient,// <<--
}
);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。