的未匹配兜底特性完成。…">
当前位置:首页 > React

react子路由如何匹配404页面

2026-01-26 09:00:16React

在React中实现子路由404匹配

使用React Router v6实现子路由的404页面匹配,可以通过<Route path="*"><Route>的未匹配兜底特性完成。

react子路由如何匹配404页面

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

function App() {
  return (
    <Routes>
      <Route path="/parent" element={<ParentLayout />}>
        <Route index element={<ParentHome />} />
        <Route path="child1" element={<Child1 />} />
        <Route path="child2" element={<Child2 />} />
        <Route path="*" element={<NotFound />} />
      </Route>
    </Routes>
  );
}

嵌套路由的404处理方案

当需要为多级嵌套路由单独设置404页面时,可以在每个路由层级末尾添加通配符路由:

react子路由如何匹配404页面

<Routes>
  <Route path="/dashboard" element={<DashboardLayout />}>
    <Route index element={<DashboardHome />} />
    <Route path="settings" element={<Settings />} />
    <Route path="*" element={<DashboardNotFound />} />
  </Route>
  <Route path="*" element={<GlobalNotFound />} />
</Routes>

动态路由的404捕获

对于动态参数路由,通配符路由需要放在最后声明:

<Route path="/products" element={<ProductLayout />}>
  <Route path=":id" element={<ProductDetail />} />
  <Route path="category/:type" element={<CategoryPage />} />
  <Route path="*" element={<ProductNotFound />} />
</Route>

注意要点

  • 通配符路由path="*"必须放在同级路由的最后
  • 不同层级的404组件可以差异化设计
  • 在v6版本中,<Switch>已被<Routes>取代
  • 404组件可以通过useNavigate钩子实现自动重定向逻辑

标签: 路由页面
分享给朋友:

相关文章

vue实现动态路由按钮

vue实现动态路由按钮

实现动态路由按钮的思路 动态路由按钮通常指根据用户权限或角色动态显示可访问的路由按钮。Vue中可通过路由配置、权限验证和动态渲染实现。 路由配置与权限标识 在路由配置中添加meta字段标识权限:…

h5实现页面跳转页面跳转页面

h5实现页面跳转页面跳转页面

H5 实现页面跳转的方法 使用 <a> 标签实现跳转 通过超链接标签 <a> 的 href 属性指定目标页面路径,用户点击后跳转。 <a href="target.…

jquery页面

jquery页面

jQuery 页面操作指南 jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画和 Ajax 交互的操作。以下是 jQuery 在页面中的常见使用方法…

vue实现转页面

vue实现转页面

Vue 实现页面跳转的方法 在 Vue 中实现页面跳转可以通过多种方式,主要分为编程式导航和声明式导航两种。以下是具体实现方法: 使用 <router-link> 声明式导航 <r…

vue页面实现日历

vue页面实现日历

实现基础日历布局 使用Vue的模板语法构建日历的基本HTML结构,通常需要包含星期标题和日期格子。月份切换按钮可以通过v-on绑定事件。 <template> <div cla…

jquery跳转页面

jquery跳转页面

jQuery 跳转页面方法 使用 jQuery 实现页面跳转可以通过多种方式完成,以下是几种常见的方法: 使用 window.location.href 进行跳转 $(document).read…