Как выполнить несколько запросов с Apollo graphql HOC?

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

1 ответ

Решение

В соответствии с @ аполлон / реагировать Временная документы, кажется, вы можете запустить несколько запросов на гнездовье один внутри другого.

По умолчанию graphql хуки вводят данные как 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 описан, я считаю, что лучше разместить здесь примеры, чтобы каждый мог найти при поиске по теме.

Другие вопросы по тегам