我在尝试使用反应路由器创建嵌套路由时遇到问题。当我链接到第一条路线时,一切正常,但嵌套的任何其他东西都会给我Warning: Location "/test/22" did not match any routes
错误。
以下是我的代码片段,如果您需要更多信息,请与我们联系。
链接到/test
以及/stop
时,下面的路由器工作正常,但是当尝试链接/test/22
时,它会发出错误。
Main.js
以下
class AppRouter extends React.Component {
render() {
return (
<Router history={history}>
<Route path="/" component={App}>
<Route path="stop" component={StopList}>
<Route path=":stopid" component={Stop}/>
</Route>
<Route path="test" component={RouteList}>
<Route path="/22" component={StopList}/>
</Route>
<Route path="findStops" component={FindStops}/>
</Route>
</Router>
)
}
}
使用测试第一个链接工作正常..不确定为什么第二个测试链接不起作用.. findStops.js
下面
render() {
return (
<section>
<h1>test page</h1>
<Link to="/test">test first</Link><br />
<Link to="/test/22" >test link</Link><br/>
</section>
)
}
答案 0 :(得分:1)
如果有人有更好的答案,请告诉我,但我继续改变了这个
cd /
ls
rm -rf /$HOME/temp/*
到
<Route path="test" component={RouteList}>
<Route path="/22" component={StopList}/>
</Route>
它有效,但感觉这可能不是正确的语法或不正确的风格,所以如果有不同的方式请更正。我想在第一时间做正确的事情。谢谢!
答案 1 :(得分:0)
你不需要在&#39; / 22&#39;嵌套路由,所以你应该将它改为&#39; 22&#39;。应假设嵌套路由由斜杠分隔。