GraphQL response-apollo - это нормально для экспорта / импорта клиента напрямую? - PullRequest
0 голосов
/ 09 декабря 2018

У меня есть файл установки 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)
}

1 Ответ

0 голосов
/ 09 декабря 2018

Да, это должно быть хорошо.

В этом сообщении блога упоминается использование синглтона для Apollo:

Я использую синглтон с уникальным клиентом apollo для хранения уникального кэша ииспользовать во всем коде.

https://cheesecakelabs.com/blog/apollo-graphql-client-makes-api-integration-breeze/

...