2015-10-01 109 views
0

我使用的一个项目做出反应路由器,当我使用Link标签我没有收到this.props.params在新页面中读取时正确填写。反应路由器不填充PARAMS

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

任何人都知道为什么它可能是?

编辑: 我也试着做这种方式

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

其中反应路由器的版本?不像链接需要PARAMS道具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} />