Я пытаюсь изучить React Relay и GraphQL с помощью реле-ретранслятора, но не могу получить параметры на моих маршрутах для работы. Моя проблема связана с маршрутом «/ Maps /: userID».Не могу получить параметр маршрута userID для работы с реле-маршрутизатором-реле
Вот мой маршрутизатор:
ReactDOM.render(
<RelayRouter history={browserHistory}>
<Route path="/"
component={HomeSubAppContainer}
renderLoading={() => <Spinner/>}
>
<IndexRoute component={WelcomePageContainer}/>
</Route>
<Route path="/Maps/:userID"
component={MapsSubAppContainer}
renderLoading={() => <Spinner/>}
queries={userRootQuery}
>
<IndexRoute
component={WeekMapContainer}
renderLoading={() => <Spinner/>}
/>
</Route>
</RelayRouter>,
document.getElementById('root')
);
Вот мой релейный контейнер и корень запроса:
export const MapsSubAppContainer = Relay.createContainer(MapsSubApp, {
fragments: {
user:() => Relay.QL
` fragment on User {
birthDate
}
`
}
});
export const userRootQuery = {
user:() => Relay.QL
` query {
user(userID: $userID)
}
`
};
Вот место в моем компоненте, где я вставляю идентификатор пользователя в параметр маршрута. Я использую browserHistory от реактивного маршрутизатора. «1» - это мой тестовый идентификатор пользователя.
handleSubAppsNavClick(button) {
const path = button === 'Maps' ? '/Maps/1' : '/' + button;
browserHistory.push(path);
}
Вот корень запроса моей схемы в:
var queryType = new GraphQLObjectType({
name: 'Query',
fields:() => ({
node: nodeField,
user: {
type: userType,
args: {
userID: {type: GraphQLString}
},
resolve: (args) => getUser(args.userID)
}
})
});
Я пытался следовать пример кода на странице среагировать маршрутизаторами-реле Github, но Я получаю консольную ошибку:
Warning: [react-router] Location "/Maps" did not match any routes
Благодарим за любые предложения, которые вы можете предложить.