2015-10-01 2 views
0

Я использую реактивный маршрутизатор в проекте, и когда я использую тег Link, я не получаю this.props.params, правильно заполненный при чтении его на новой странице.response-router не заполняет параметры

<Link to='/users/login/' params={{firstParam: 'firstParam'}} query={{firstParam: 'firstParam'}}>link</Link> 

Кто-нибудь знает, почему это может быть?

EDIT: Я также попытался сделать это таким образом

this.refs.linkToLogin.context.router.transitionTo('/users/login', {firstParam: 'firstParam'}); 

EDIT2: Маршрут определяется таким образом

<Route name="users"> 
    ... 
    <Route name="users-login" path="https://stackoverflow.com/users/login" handler={UserPage} /> 
    ... 
</Route> 
+0

, какая версия среагировать маршрутизатор? не похоже, что ссылка принимает параметр prop https://github.com/rackt/react-router/blob/master/docs/API.md#link – Dylan

+0

0.13.3 Для какой версии эта документация? –

+0

Если это невозможно сделать таким образом. Вы знаете, как передать объекты на новую страницу? –

ответ

1

Ваша ссылка установлен правильно, я ожидаю, сво вопрос с вашим обработчиком маршрута. он должен быть настроен на прием аргумента state из функции обратного вызова. файл маршруты должен выглядеть следующим образом:

Router.run(routes, function(Handler, state){ 
    React.render(<Handler {...state} />, document.querySelector('#foo') 
}) 

важно отметить здесь является state аргумента в функции обратного вызова получения передается Handler компоненту

дополнительно, маршрут должен быть настроен, чтобы принять динамический параметр. #props.query должен пройти правильно, но если динамический сегмент URL не определен, то params вероятно обыкновению появляться

<Route name='...' path='/users/:firstParam/login' handler={UserPage} /> 
Смежные вопросы