GraphQL react-apollo - export/import 客户端可以直接使用吗?
GraphQL react-apollo - is it okay to export/import client directly?
我有一个 apollo 安装文件,services/apollo.js
,我在其中导出客户端:
const client = new ApolloClient({
cache,
link: ApolloLink.from([stateLink, httpLink])
})
export default client
然后我将其导入并在其他地方正常使用它:
<BrowserRouter>
<ApolloProvider client={client}>
<App />
</ApolloProvider>
</BrowserRouter>
如果我想直接使用客户端(例如手动触发查询),是否可以将其直接导入文件,而不是通过 ApolloConsumer
访问它?
import client from 'services/apollo'
export const getSomeData = async () => {
const { data } = await client.query({ ... })
console.log(data)
}
是的,应该没问题。
此博客 post 提到为 Apollo 使用单例:
I use a singleton with a unique apollo client to keep a unique cache
and use in all code.
https://cheesecakelabs.com/blog/apollo-graphql-client-makes-api-integration-breeze/
我有一个 apollo 安装文件,services/apollo.js
,我在其中导出客户端:
const client = new ApolloClient({
cache,
link: ApolloLink.from([stateLink, httpLink])
})
export default client
然后我将其导入并在其他地方正常使用它:
<BrowserRouter>
<ApolloProvider client={client}>
<App />
</ApolloProvider>
</BrowserRouter>
如果我想直接使用客户端(例如手动触发查询),是否可以将其直接导入文件,而不是通过 ApolloConsumer
访问它?
import client from 'services/apollo'
export const getSomeData = async () => {
const { data } = await client.query({ ... })
console.log(data)
}
是的,应该没问题。
此博客 post 提到为 Apollo 使用单例:
I use a singleton with a unique apollo client to keep a unique cache and use in all code.
https://cheesecakelabs.com/blog/apollo-graphql-client-makes-api-integration-breeze/