【问题标题】:wrong React Route Redirect错误的 React 路由重定向
【发布时间】: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>

【问题讨论】:

    标签: reactjs redirect react-router


    【解决方案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 也会帮助你重定向到错误路径

      【讨论】:

        猜你喜欢
        • 2023-03-28
        • 1970-01-01
        • 2017-03-15
        • 1970-01-01
        • 1970-01-01
        • 2021-02-04
        • 2017-03-02
        • 2019-07-16
        • 1970-01-01
        相关资源
        最近更新 更多