Как выполнить несколько запросов с Apollo graphql HOC? - PullRequest
0 голосов
/ 07 октября 2019

Я пишу веб-приложение, и мне нужно запросить локальное состояние Apollo, а также удаленный API. Apollo graphql HOC не позволяет отправлять несколько запросов, но предлагает некоторую функцию compose. Но похоже, что @apollo/react-hoc пакет не имеет его. К сожалению, сценарий запроса локального состояния в удаленный не работает (согласно DevTools, запрос отправляется, но данные не предоставляются). Redux compose не помогает в любом случае (ну, для меня понятно, почему так). Как лучше всего решить эту проблему БЕЗ React hooks?

1 Ответ

1 голос
/ 07 октября 2019

В соответствии с @ apollo / Reaction-hoc docs кажется, что вы можете запускать несколько запросов, вложив один в другой.

По умолчанию graphql hooks вводит данные как data prop, поэтому для нескольких запросов они не будут работать без дополнительной настройки. config.name приходит на помощь, поэтому вы можете указать разные имена для введенных реквизитов вместо data.

export default(
  graphql(
    query1, 
    {name: "data1"}
  )(
    graphql(
      query2, 
      {name: "data2"}
    )(YourComponent)
  )
)

Выглядит слишком многословно. Так что recompose (по существу, избыточный) compose поможет вам:

export default compose(
  graphql(query1, {name: "data1"}),
  graphql(query2, {name: "data2"})
)(YourComponent);

По правде говоря, этот подход (с compose) описан в их документах, но поскольку он находится где-то впосередине, где описан config, я считаю, что здесь лучше привести примеры, которые можно найти при поиске по теме.

...