有没有办法在react-router-redux@5.0.0中定义默认路由(如果没有匹配)

时间:2018-04-06 10:36:01

标签: react-router react-router-redux

我正在使用react-router-redux@5.0.0

我有这个

<Route path='/login' component={ Login } />
<Route exact path='/' component={ Home } />

有没有办法在react-router-redux@4.x.x中定义默认路由?

如果任何其他匹配的话,“默认路线”也不会通过。

因为如果我要添加

<Route path='/login' component={ Login } />
<Route exact path='/' component={ Home } />
<Route component={ Default } />

将为所有路线呈现默认组件,包括'/ login'和'/'

3 个答案:

答案 0 :(得分:2)

在定义了所有其他路线之后放置以下全能路线(可选择如下所述保留路径):

<Route path="*" component={DefaultRoute} />

这是指向答案的链接,其中包含更多详情:React-Router: No Not Found Route?

答案 1 :(得分:1)

我一直在寻找针对同一问题的答案,但针对react-router-dom软件包。解决方案是这样的:

<Switch>
  <Route path='/login' component={ Login } />
  <Route exact path='/' component={ Home } />
  <Route component={ Default } />
</Switch>

这样,将显示第一个匹配的路由,而其余的将被忽略。

您可以像这样将SwitchRoute一起导入:

import { BrowserRouter, Switch, Route } from 'react-router-dom';

答案 2 :(得分:0)

请忽略path

<Route component={Default} />