反应路由器 - 没有默认路由

时间:2017-01-24 01:15:19

标签: reactjs react-router

我使用的是React / Redux / Router,但这实际上只是一个路由器问题而我似乎无法找到答案。从本质上讲,我希望我的应用程序只有在##;#search'哈希存在于URL中,否则不做任何事情。

如果我使用以下内容,当我转到根网址' /'时会收到错误(与任何路线不匹配)。

ReactDOM.render(
  <Provider store={store}>
    <Router history={browserHistory}>
      <Route path="#search" component={HelloWorldContainer} />
    </Router>
  </Provider>,
  document.querySelector('.body-wrap'),
);

任何帮助表示赞赏...

1 个答案:

答案 0 :(得分:0)

这是因为您没有为根'/'提供路由,这是Web应用程序的默认入口点。我不确定为什么你不为根'/'提供路由,但是React Router会继续为它无法匹配的路由抛出错误。您可以为与您指定的路径不匹配的路线提供整个组件作为全能;像这样:

<Route path='*' component={ErrorPage}/>

此外,对路线path='#search'的请求必须完全匹配。因此,/#search123的请求将引发错误,除非您拥有上述的全部路径。