я прочитал на react-router-relay что:Реагировать реле + маршрутизатор не разрушится запросами вложенных маршрутов
реагирует-маршрутизатор-реле будет автоматически генерировать комбинированный маршрут реле со всеми запросами и параметрами из активного React маршрутизатора маршрутов, , затем передайте результаты запроса каждому компоненту маршрута. Поскольку запросы собраны на один маршрут, все они будут отображаться в одновременно, а данные для всей страницы загрузятся , а затем сделают за один раз.
Но в моем приложении я фактически вижу два отдельных звонка на /graphql
. Вот мой код:
<Route path="site_:siteId" component={AppSkeleton} queries={SiteAccountQueries}>
<Route path="mySites" component={Sites} queries={SiteAccountQueries} />
</Route>
Первый вызов извлекает данные для AppSkeleton
, а второй для Sites
. Разве это не должно было сворачивать их всех в один звонок? Что я делаю не так?
Спасибо, это имеет смысл. Я считаю, что есть открытый запрос функции, чтобы сетевой уровень был достаточно умным, чтобы агрегировать различные запросы, не так ли? –
Я не уверен, есть ли запрос функции для этого, но можно было бы создать настраиваемый сетевой уровень для пакетной обработки. (Фактически, в Facebook наша внутренняя конечная точка GraphQL имеет конечную точку пакета, в которую мы можем отправить кучу запросов в одном запросе, и получить результаты обратно в одном запросе.) Любая реализация будет очень специфичной для бэкэнда, хотя, потому что спецификация GraphQL в настоящее время не предъявляет никаких требований о том, как следует передавать запросы. – wincent