React relay + router不会崩溃嵌套路由的查询

时间:2016-01-21 13:55:41

标签: reactjs react-router relayjs react-router-relay

我在react-router-relay 上读到:

  

react-router-relay将自动生成组合的中继路由   使用活动的React Router路由中的所有查询和参数,   然后将查询结果传递给每个路由组件。如   查询全部收集到一条路线上,它们都是   同时获取,并将加载整个页面的数据   然后一次性渲染。

但在我的应用中,我实际上看到了对/graphql的两次单独调用。这是我的代码:

<Route path="site_:siteId" component={AppSkeleton} queries={SiteAccountQueries}>
    <Route path="mySites" component={Sites} queries={SiteAccountQueries} />
</Route>

第一个调用获取AppSkeleton的数据,第二个调用获取Sites的数据。是不是应该将它们全部合并为一个电话?我做错了什么?

1 个答案:

答案 0 :(得分:2)

文档并未说明它们会合并为一个调用。您的查询将合并为一个路由,并且所有查询都会同时进行,但查询到网络请求的映射是网络层的一个问题。

事实上,默认的中继网络层将为给定路由中的每个查询发出单独的HTTP请求;无论您是否使用react-router-relay,或者您是否恰好拥有包含多个查询的路由,都会发生这种情况。