如何 link 到 React 中的嵌套路由?
How to link to a nested route in React?
我有 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
Link,然后导航到 localhost:8080/workspaces/444/run
目前状态如何
如果我手动输入 url localhost:8080/workspaces/444/run
,一切正常。但是当我点击导航栏中的 Link 时,我会到达 localhost:8080/run
.
谁能告诉我这是怎么回事?这一切是如何联系起来的?
我认为 Link 标签应该是这样的:
<Link to={'workspaces/' + this.props.workspace_id + '/run'}>Run</link>
您应该从模板中的路径获取 workspace_id,并将其传递给 NavBar 组件
我有 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
Link,然后导航到 localhost:8080/workspaces/444/run
目前状态如何
如果我手动输入 url localhost:8080/workspaces/444/run
,一切正常。但是当我点击导航栏中的 Link 时,我会到达 localhost:8080/run
.
谁能告诉我这是怎么回事?这一切是如何联系起来的?
我认为 Link 标签应该是这样的:
<Link to={'workspaces/' + this.props.workspace_id + '/run'}>Run</link>
您应该从模板中的路径获取 workspace_id,并将其传递给 NavBar 组件