我使用的是React / Redux / Router,但这实际上只是一个路由器问题而我似乎无法找到答案。从本质上讲,我希望我的应用程序只有在##;#search'哈希存在于URL中,否则不做任何事情。
如果我使用以下内容,当我转到根网址' /'时会收到错误(与任何路线不匹配)。
ReactDOM.render(
<Provider store={store}>
<Router history={browserHistory}>
<Route path="#search" component={HelloWorldContainer} />
</Router>
</Provider>,
document.querySelector('.body-wrap'),
);
任何帮助表示赞赏...
答案 0 :(得分:0)
这是因为您没有为根'/'
提供路由,这是Web应用程序的默认入口点。我不确定为什么你不为根'/'
提供路由,但是React Router会继续为它无法匹配的路由抛出错误。您可以为与您指定的路径不匹配的路线提供整个组件作为全能;像这样:
<Route path='*' component={ErrorPage}/>
此外,对路线path='#search'
的请求必须完全匹配。因此,/#search123
的请求将引发错误,除非您拥有上述的全部路径。