Объединение запросов во вложенных маршрутах реакции-маршрутизатора-ретранслятора

У меня есть схема с 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) }?

0 ответов

Другие вопросы по тегам