我正在一个项目中,在该项目中,我使用Rest API进行数据(令牌)认证,以便稍后将其传递给GraphQL API。 整个应用程序都包装在ApolloProvider对象中,如下例所示。
const Client = new ApolloClient({
link: new HttpLink({
uri: [Broker Address],
headers: {
authorization: `[Bearer token to be retrieved using a Rest API]`,
}
}),
cache: memoryCache
})
包装代码:
<ApolloProvider client={Client}>
<AppNavigator />
</ApolloProvider>
但是,由于我是在从Rest API进行身份验证后检索到graphql令牌的,因此我将无法在初始化时传递数据。
一个显而易见的选择(我可能是错误的,因为我是JS和RN的新手)替代方法是有两个单独的导航器(一个用于Rest auth流,另一个用于GraphQL流),并且仅包装基于GraphQL的导航器。导航器与ApolloProvider。
但是只是想检查一下是否有一种方法可以稍后在运行时动态更新ApolloProvider包装器上的HttpLink或ApolloClient对象?