React 中嵌套的 ApolloProvider
Nested ApolloProviders in React
我正在开发一个微前端应用程序。我们正在构建一个库来管理我们所有的用户数据、权限、角色等。
<ApolloProvider client={userManagementClient}>
{children}
</ApolloProvider>
这将在许多应用程序中使用,看起来像这样:
<ApolloProvider client={appClient}>
<UserManagementProvider><App /></UserManagementProvider>
</ApolloProvider>
问题是应用程序的 ApolloProvider 不起作用,因为查询是针对库的数据源而不是应用程序进行的。
有谁知道嵌套或多个 ApolloProvider 的方法吗?
任何感兴趣的人:
无论从何处获取此提供程序,每个应用程序都只允许一个提供程序。您可以做的是定义要用于查询、变更、订阅的客户端:
const link = ApolloLink.from([ /* ... */ ]);
const apolloClient = new ApolloClient({ link, cache: new InMemoryCache() });
const status = useQuery<GetUserQuery>(
userQuery,
{
variables: {
email
},
client: apolloClient, // <<--
}
);
我正在开发一个微前端应用程序。我们正在构建一个库来管理我们所有的用户数据、权限、角色等。
<ApolloProvider client={userManagementClient}>
{children}
</ApolloProvider>
这将在许多应用程序中使用,看起来像这样:
<ApolloProvider client={appClient}>
<UserManagementProvider><App /></UserManagementProvider>
</ApolloProvider>
问题是应用程序的 ApolloProvider 不起作用,因为查询是针对库的数据源而不是应用程序进行的。
有谁知道嵌套或多个 ApolloProvider 的方法吗?
任何感兴趣的人:
无论从何处获取此提供程序,每个应用程序都只允许一个提供程序。您可以做的是定义要用于查询、变更、订阅的客户端:
const link = ApolloLink.from([ /* ... */ ]);
const apolloClient = new ApolloClient({ link, cache: new InMemoryCache() });
const status = useQuery<GetUserQuery>(
userQuery,
{
variables: {
email
},
client: apolloClient, // <<--
}
);