react-router link 到子路由

react-router link to sub route

如何为 lang -> python 这样的子路由创建 link?

我的路线

var routes = (
  <Route name="app" path="/" handler={ App }>
    <Route name="info" handler={ Info } />
    <Route name="home" handler={ Home } />
    <Route name="lang" handler={ Lang } >
      <Route path="java" handler={Lang}/>
      <Route path="python" handler={Lang}/>
    </Route>
    <DefaultRoute handler={ Home } />
    <NotFoundRoute handler={ NotFound } />
  </Route>
);

为 info 或 lang 创建一个 link 工作正常,但我如何 link 到 java 或 python?

<Link to="info">Info</Link>

我测试了

<Link to="lang/java">Java</Link>
<Link to="lang java">Java</Link>

但它会导致错误:

不变违规:找不到名为 "lang/java"

的路由

正常的 link 工作,但我想知道 Link 是如何完成的。

<a href="#lang/python">
   <h2>PYTHON</h2>
</a>

解决方案

link:

<Link to="java">
  JAVA
</Link>

路线:

<Route name="challenge" handler={ Challenge } >

      <Route name="java" path="java" handler={Challenge}/>

但也许有人有不添加新名称的解决方案。

您可以将名称 "java" 添加到 link "java"。

或者更好的方法是在 lang 路由路径中创建一个参数="lang/:language" 然后在 handler 中将语言取出来