Объединение запросов во вложенных маршрутах реакции-маршрутизатора-ретранслятора
У меня есть схема с 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") {
...
}
}
}
В настоящее время я получаю следующую ошибку при попытке это:
Error: Cannot query field "user" on type "RootQuery".
Как научить реагировать-маршрутизатор-реле, чтобы позволить UserDetails
получить данные от
query { viewer { user(id) } }
и не только из
query { user(id) }
?