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 中将语言取出来
如何为 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 中将语言取出来