Reactjs 如何使用React Router v4将错误路由重定向到特定页面

Reactjs 如何使用React Router v4将错误路由重定向到特定页面,reactjs,react-router,Reactjs,React Router,我正在尝试将特定路由重定向到我的404页面。但是,有两种情况下我无法成功重定向 当用户转到路线并在其后面添加/时(例如,/home/而不是/home)。这样可以正确地重定向,但是,由于某种原因,所有CSS都会丢失 当用户转到受保护的路由并在其后面添加/时。这会导致引用错误(例如,ReferenceError:$未定义) 以下是我的路线当前的设置方式: <Switch> <Route exact path="/" component={Home} /> <Pr

我正在尝试将特定路由重定向到我的404页面。但是,有两种情况下我无法成功重定向

  • 当用户转到路线并在其后面添加
    /
    时(例如,
    /home/
    而不是
    /home
    )。这样可以正确地重定向,但是,由于某种原因,所有CSS都会丢失
  • 当用户转到受保护的路由并在其后面添加
    /
    时。这会导致引用错误(例如,
    ReferenceError:$未定义)
  • 以下是我的路线当前的设置方式:

    <Switch>
      <Route exact path="/" component={Home} />
      <ProtectedRoute path="/protected-route" component={ProtectedRoute} />
      <Route path="/page-not-found" component={PageNotFound} />
      <Redirect from="*" to="/page-not-found" />
    </Switch>
    

    能够通过以下两个附加功能解决路由问题:

  • 将我的CSS链接从
    href=“CSS/style.CSS”
    更改为
    href=“/CSS/style.CSS”
  • 在我的路线中添加了
    exact
    (例如

  • 根据您的问题,丢失的CSS部分需要您方面的更多说明/信息(您是否使用任何前置/后置处理器/模块?)。您未找到的页面配置正在使用重定向,这似乎是不必要的。您可以轻松地使用普通的交换机路由步进器。检查此项-Hi@ShobWitchittora,您能澄清您所说的前置/后置处理器/模块是什么意思吗?我不熟悉这些术语。至于重定向,是的,我最初使用了您的交换机路由示例,但希望显示为
    /page的路径也找不到
    。无论使用哪种选项,我都会遇到相同的两个问题。