我有AngularJS的背景,并且开始使用React。我正在使用react-router并希望基本上有以下设置:
模板
export default ( props ) => {
return (
<div>
<Navbar></Navbar>
{ props.children }
</div>
);
}
在App.js中路由
<Router>
<Route path="/" component={Template}>
<IndexRoute component={RestaurantRoulette} />
<Route name="workspace" path="workspace(/:workspace_id)" component={RestaurantRoulette}>
<Route name="run" path="run" component={Run}></Route>
</Route>
</Route>
</Router>
导航栏
<ul className="navigation">
<li>RestaurantRoulette</li>
<Link to="run">Run</Link>
<li>Save</li>
</ul>
当我进入时,localhost:8080/workspaces/444
我想单击Run
链接,然后导航到localhost:8080/workspaces/444/run
如果我手动键入url localhost:8080/workspaces/444/run
,一切正常。但是,当我单击导航栏中的链接时,便转到了localhost:8080/run
。
有人可以告诉我这是怎么回事吗?这是怎么连接的?
我认为Link标签应该是这样的:
<Link to={'workspaces/' + this.props.workspace_id + '/run'}>Run</link>
您应该从Template的路径中获取workspace_id,并将其传递给NavBar组件
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句