我正在尝试使用React路由器以编程方式重定向。然而,我遇到了一个问题。
路线
<Route handler={Home} path="/">
<Route handler={Handler2} name="route-2" path="/route2" />
<Route handler={Handler3} name="route-3" path="/route3/:param1" >
<Route handler={Handler4} name="route-4" path="subroute/:param2" />
</Route>
</Route>
层次结构中的组件,处理程序的子级
...
contextTypes: {
router: React.PropTypes.func
},
handleClick : function(e){
this.context.router.transitionTo('route-4',{param1:1,param2:2});
},
...
我可以调用transitionTo函数,也可以调用正确的路线,但我得到的错误是,
不变冲突:路径缺少"param1"参数"/route3/:param1/subroute/:param2"
请帮忙。这是语法错误吗?
这可能会对您有所帮助https://github.com/rackt/react-router/issues/1285#issuecomment-111908695
正如迈克尔所说,你需要:
为了在0.13.x API中插入参数,您的路径需要为该参数占用一个段。