如何在React中链接到嵌套路由?

ohboy21

我有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

有人可以告诉我这是怎么回事吗?这是怎么连接的?

Zhang Chao

我认为Link标签应该是这样的:

<Link to={'workspaces/' + this.props.workspace_id + '/run'}>Run</link>

您应该从Template的路径中获取workspace_id,并将其传递给NavBar组件

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章