我想做这样的事情,如果没有路由匹配,我会立即重定向到'/'。使用下面的代码,当我找到不存在的路径时,会得到Nothing was returned from render
<Switch>
<Route exact path="/" component={UnAuth} />
<PrivateRoute exact path="/:contentId" component={Content} />
<Redirect to="/" />
// <Redirect from='*' to='/' /> doesn't work as well
</Switch>
答案 0 :(得分:0)
如果您想要“捕获所有路线”,该路线将重定向到任意位置(“ /”)
所以您将首先创建一条“全部捕获”路线
<Switch>
<Route exact path="/" component={UnAuth} />
<PrivateRoute exact path="/:contentId" component={Content} />
//...all of your routes here
// this route will catch any route that wasnt matched in previous routes
<Route component={RedirectToMain}/>
</Switch>
以及将获取所有路由并重定向的组件:
如果您需要更多逻辑,它只会重定向到/
,您可以创建一个可以处理其他任何事情的类。
const RedirectToMain = _ => {
return (
<Redirect to="/" />
);
}