我有一个架构,其中LinearLayoutManager
作为最顶层的根元素及其下的所有其他数据:viewer
列有viewer
并提供单个users
。我的根查询中没有其他元素。
我的根组件定义了以下路由:
user(id)
这些是查询 - 我不知道如何将<Router history={browserHistory} render={applyRouterMiddleware(useRelay)} environment={Relay.Store}>
<Route path="/" component={App}>
<IndexRoute component={Dashboard} />
<Route path="users" component={UserList} queries={ViewerQueries}>
<Route path=":userId" component={UserDetails} queries={UserQueries} />
</Route>
</Route>
</Router>
嵌套在UserQueries
中,或者如果可能的话:
ViewerQueries
const ViewerQueries = {
viewer: () => Relay.QL`query { viewer }`
};
const UserQueries = {
user: () => Relay.QL`query { user(id: $userId) }`
}
组件的目标是从
UserDetails
目前,尝试此操作时出现以下错误:
query {
viewer {
user(id: "xyz") {
...
}
}
}
如何教会react-router-relay让Error: Cannot query field "user" on type "RootQuery".
从
UserDetails
而不只是来自
query { viewer { user(id) } }
?