React-router没有填充参数
react-router is not filling params
我在一个项目上使用react router,当我使用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>
您的链接设置正确,我预计这是您的路由处理程序的问题。它必须配置为接受回调函数的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} />
相关文章:
- 如何让typeahead在我的搜索栏中填充自定义参数
- 如何使用Javascript从URL参数中自动填充文本字段
- IE JavaScript参数和填充输入字段
- 流星将参数传递给助手以基于该参数填充页面
- 使用javascript从url参数填充texbox值
- 当表单控件选项具有多个参数时,如何在组合框中填充所选项目
- 控制器操作参数未从 AJAX 开机自检正确填充
- 填充的参数什么都没有被填充
- 尝试制作可重用的代码,使用函数参数填充名为 target 的变量的区域
- 使用基于查询字符串参数的 Angular 填充选择元素
- Rails 输入表单填充了 jQuery .val(),但参数中不存在数据
- 使用javascript数据填充rails参数
- 填充标题中的URL参数
- OpenLayers 3根据要素参数值更改点填充颜色
- 填充jqGrid取决于url参数
- Angular UI路由器-尽管$stateParams获取对象,但不填充参数
- Javascript回调函数-如何填充参数
- 如何从url参数中填充隐藏的输入文本字段
- Django / Jquery / Javascript -如何使用url参数预填充表单(自动填充表单)
- 使用javascript函数参数填充Rails3中innerHTML标记的值字段