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