如何使用 Apollo Client 访问应用程序中任何地方的“client”对象?

问题描述

我有一个使用 Apollo Client v1 的基本应用程序:

const client = new ApolloClient({...

...

<ApolloProvider client={client}>
   <App />
</ApolloProvider>,

我想知道如何让我的应用程序的其余部分访问 client 对象,以便他们可以使用 client.query 进行查询

是否只能导出客户端然后导入到另一个文件中?

由于我的应用程序包含在 ApolloProvider 中,我认为可能有一种使用 Apollo 特定导入来导入 client方法

解决方法

import { useApolloClient } from '@apollo/client';

function SomeComponent() {
  const client = useApolloClient();
  // `client` is now set to the `ApolloClient` instance being used by the
  // application (that was configured using something like `ApolloProvider`)
}