警告:位置“/ test / 22”与任何路线都不匹配

时间:2015-11-27 22:31:59

标签: javascript reactjs react-router

我在尝试使用反应路由器创建嵌套路由时遇到问题。当我链接到第一条路线时,一切正常,但嵌套的任何其他东西都会给我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>
    )
  }

2 个答案:

答案 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;。应假设嵌套路由由斜杠分隔。