错误的 React 路由重定向

Posted

技术标签:

【中文标题】错误的 React 路由重定向【英文标题】:wrong React Route Redirect 【发布时间】:2021-08-22 05:06:41 【问题描述】:

如果路线不正确,我创建了一个错误页面并重定向到它。但是当我打开本地主机时,主页是错误的。但我需要'/main'

 <Route path="/activities/" exact>
</Route>
            <Route path="/error" component=ErrorComponent />
            <Redirect from="*" to="/error" />
            <Route path="/">
              <Redirect to="/main" />
            </Route>

【问题讨论】:

【参考方案1】:

首先调用通配符重定向 &lt;Redirect from="*" to="/error" /&gt; 并导致任何路由重定向到您的 &lt;Route path="/error" component=ErrorComponent /&gt; 路由

&lt;Route /&gt;&lt;Redirect /&gt; 组件包装在&lt;Switch&gt; 组件中,如下所示:

import  Redirect, Route, Switch  from "react-router";

<Switch>
  <Route path="/activities/" exact />
  <Route path="/error" component=ErrorComponent exact />
  <Route path="/main" exact />
  <Redirect from="/" to="/main" />
  <Redirect from="*" to="/error" />
</Switch>

https://reactrouter.com/web/api/Switch

【讨论】:

【参考方案2】:

您需要将所有路由底部的&lt;Redirect from="*" to="/error" /&gt; 移动并在&lt;Route path="/"&gt; 中添加exact

 <Route path="/activities/" exact>
 </Route>
 <Route path="/error" component=ErrorComponent />
 <Route path="/" exact>
     <Redirect to="/main" />
 </Route>
 <Redirect to="/error" />
 

Link 也会帮助你重定向到错误路径

【讨论】:

以上是关于错误的 React 路由重定向的主要内容,如果未能解决你的问题,请参考以下文章

Vue路由重定向、别名与导航守卫

React 路由器未在 Chrome 中的重定向上安装组件

【Django】路由配置:反向解析、重定向

angular---路由之重定向路由

react的路由重定向

重定向到 github omniauth 路由时如何解决 CORS 错误?