我在项目中使用了反应路由器,当我使用Link
代码时,我在新页面上阅读时没有正确填充this.props.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="/users/login" handler={UserPage} />
...
</Route>
答案 0 :(得分:1)
您的链接设置正确,我希望您的路由处理程序出现问题。它必须配置为接受回调函数中的state
参数。您的路线文件应如下所示:
Router.run(routes, function(Handler, state){
React.render(<Handler {...state} />, document.querySelector('#foo')
})
这里要注意的重要一点是回调函数中的state
参数传递给Handler
组件
此外,您的路线需要配置为接受动态参数。 #props.query
应正确完成,但除非定义了网址的动态细分,否则params
可能无法显示
<Route name='...' path='/users/:firstParam/login' handler={UserPage} />