react-router v6嵌套路由简单案例

2023-11-16

react-router V6版本路由用法和V5用法差距较大,一个简单的使用案例

新版本组件也开始使用函数式组件+hooks

"react-router-dom": "^6.2.1",

1.入口main

import "./App.css";
import { BrowserRouter, Route, Routes, Navigate } from "react-router-dom";
import Index from "./modules/index/Index";
import Error from "./modules/error/Index";
import Admin from "./modules/admin/Index";

const App = () => {
    return (
        <div className="App">
            {/* HashRouter哈希路由 还是 Browser路由随需求选择 */}
            <BrowserRouter>
                <Routes>
                    {/* 默认初始化入口/home*/}
                    <Route path="/" element={<Navigate to="/home" />} />
                    {/* home模块路由 */}
                    <Route path="home/*" element={<Index />} />
                    {/* admin模块路由 */}
                    <Route path="/admin/*" element={<Admin />} />
                    {/* 404页面 */}
                    <Route path="*" element={<Error />} />
                </Routes>
            </BrowserRouter>
        </div>
    );
};

export default App;

2.子路由-Index模块(案例举例)

import { Route, Routes } from "react-router-dom";
import MainIndex from "./page/index/Index";
import Nav from "./page/nav/Nav";

import Error from "../error/Index";


const Index = () => {
    return (
        <div>
            <Routes>
                    {/* path="/"初始化默认 */}
                    <Route path="/" element={<MainIndex />} />
                    <Route path="/nav" element={<Nav />} />
                    {/* 子路由的404页面 */}
                    <Route path="*" element={<Error />} />
                </Routes>
        </div>
    );
};
export default Index;

3.路由跳转方法2种useNavigate, Link

import { useNavigate, Link } from "react-router-dom";

const Child = (props) => {
    const navigate = useNavigate();
    return (
        <div>
            {/* link跳转 */}
            <Link to="/admin/componentDelivery">跳转路由</Link>
            <br />
            <div onClick={() => {
                // 逻辑跳转
                navigate("/admin/componentDelivery");
                // replace 跳转
                // navigate('/home', {replace: true});
                // navigate("/");
                // 回退步数 0刷新页面
                // navigate(-1);
            }}></div>
           
        </div>
    );
};
export default Child;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

react-router v6嵌套路由简单案例 的相关文章

  • 在 HTML5 画布中,如何用我选择的背景遮盖图像?

    我试图用画布来实现这一点 globalCompositeOperation 但没有运气 所以我在这里问 这里有类似的问题 但我没有在其中找到我的案例 我的画布区域中有图层 从下到上的绘制顺序 画布底座填充纯白色 fff 用fillRect
  • window.location 和 location.href 之间的区别

    我对之间的区别感到困惑window location and location href 两者似乎都以相同的方式行事 有什么不同 window location是一个对象 它保存有关当前文档位置的所有信息 主机 href 端口 协议等 lo
  • React onClick 事件仅在渲染组件时触发

    动态渲染组件的 onClick 函数应通过 useState 设置所选日期 imgs 上的 onClicks 完全按照您的预期工作 没有任何问题 即使只是在其位置放置一个带有 onClick 属性的 div 也是行不通的 当组件渲染时 on
  • 如何在控制器、服务和存储库模式中使用 DTO

    我正在遵循控制器 服务和存储库模式 我只是想知道 DTO 在哪里出现 控制器应该只接收 DTO 吗 我的理解是您不希望外界了解底层域模型 从领域模型到 DTO 的转换应该发生在控制器层还是服务层 在今天使用 Spring MVC 和交互式
  • 页面上使用 HTML Editor Extender 进行回发会导致 IE11 中出现 JavaScript 错误

    我已将 HTML 编辑器扩展程序添加到我正在处理的页面中 现在每当我在页面上发回帖子时 都会收到以下 Javascript 错误 JavaScript 运行时错误 参数无效 之后什么也没有发生 这在 IE10 或更低版本以及我所知道的所有其
  • className 属性是否承担 Reactjs 中 id 属性的角色?

    由于 id 属性在 Reactjs 组件中很少使用 因为 id 属性意味着组件不会被重用 那么是否使用 className 属性来代替 id 呢 如果是这样的话 那么 Reactjs 中相当于 HTML 中的 class 属性的是什么 cl
  • Android 中麦克风的后台访问

    是否可以通过 Android 手机上的后台应用程序 服务 持续监控麦克风 我想做的一些想法 不断聆听背景中的声音信号 收到 有趣的 音频信号后 执行一些网络操作 如果前台应用程序需要的话 后台应用程序必须能够智能地放弃对麦克风的访问 除非可
  • 如何从泛型类调用静态方法?

    我有一个包含静态创建方法的类 public class TestClass public static
  • 获取 JVM 上所有引导类的列表?

    有一种方法叫做findBootstrapClass对于一个类加载器 如果它是引导的 则返回一个类 有没有办法找到类已经加载了 您可以尝试首先通过例如获取引导类加载器呼叫 ClassLoader bootstrapLoader ClassLo
  • 静态变量的线程安全

    class ABC implements Runnable private static int a private static int b public void run 我有一个如上所述的 Java 类 我有这个类的多个线程 在里面r
  • 使用 ApolloClient 从 useContext 挂钩导入一个简单变量

    我的反应相对较新 似乎无法导入client来自上下文的变量 我有一个名为 federation tsx 的文件 其中包含一些代码 我相信这应该是相关部分 const link createHttpLink uri process env U
  • 用于交互式图形绘制的轻量级 JavaScript 库? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我有兴趣了解用于绘制交互式图表的最轻量级 javascript 库 我掌握的数据主要是与海洋研究相关的科学数据 我知道一些 jquery
  • 在 CKEditor 中设置字体大小和字体系列

    我正在使用 ckeditor 我想问一下这个插件如何设置font family和font size 我尝试过使用 CKEDITOR config font defaultLabel Arial CKEDITOR config fontSiz
  • JavaScript 相对路径

    在第一个 html 文件中 我使用了一个变量类别链接 var categoryLinks Career prospects http localhost Landa DirectManagers 511 HelenaChechik Dim0
  • 使用 MongoDB 和 Nodejs 插入和查询日期

    我需要一些帮助在 mongodb 和 nodejs 中按日期查找记录 我将日期添加到抓取脚本中的 json 对象 如下所示 jsonObj last updated new Date 该对象被插入到 mongodb 中 我可以看到如下 la
  • Cypress 在 Create React App 中返回 .scss 文件的 webpack 编译错误

    我正在尝试将 Cypress 添加到非常基本的 CRA 但遇到了 Cypress 无法理解 scss 文件的问题 当我跑步时npm run cypress运行测试 我收到以下错误 Error Webpack Compilation Erro
  • 将 List 转换为 JSON

    Hi guys 有人可以帮助我 如何将我的 HQL 查询结果转换为带有对象列表的 JSON 并通过休息服务获取它 这是我的服务方法 它返回查询结果列表 Override public List
  • 按日期对 RecyclerView 进行排序

    我正在尝试按日期对 RecyclerView 进行排序 但我尝试了太多的事情 我不知道现在该尝试什么 问题就出在这条线上适配器 notifyDataSetChanged 因为如果我不放 不会显示错误 但也不会更新 recyclerview
  • 如何使用asm.js进行测试和开发?

    最近我读到asm js规范 看起来很酷 但是是否有任何环境 工具来开发和测试这个工具 这还只是处于规范阶段吗 您可以尝试使用 emscripten 和 ASM JS 1 并从侧分支在 firefox 构建中运行它 有关 asm js 的链接
  • 使用 xpath 和 vtd-xml 以字符串形式获取元素的子节点和文本

    这是我的 XML 的一部分

随机推荐

  • Fedora 18 安装VMware Tools

    1 宿主机 windows 8 4G内存 2 虚拟机 VMware 9 0 1 3 虚拟主机 VMware下Fedora 18 1G内存 VMware Tools是VMware虚拟机中自带的一种增强工具 相当于 VirtualBox 中的增
  • ipv6文件服务器,ipv6怎么配置服务器

    ipv6怎么配置服务器 内容精选 换一换 华为云帮助中心 为用户提供产品简介 价格说明 购买指南 用户指南 API参考 最佳实践 常见问题 视频帮助等技术文档 帮助您快速上手使用华为云服务 IPv6的使用 可以有效弥补IPv4网络地址资源有
  • StrongSORT(deepsort强化版)浅实战+代码解析

    1 实战部分 1 1 具体操作 其实和之前的deepsort没差 到github上下载Yolov5 StrongSORT OSNet 下载对应的yolov5去替代原文件中yolov5 下载yolov5权重 可以自动下载 和ReID权重 可能
  • (Java 基础知识) Java 正则表达式

    一 概述 正则表达式是Java处理字符串 文本的重要工具 Java对正则表达式的处理集中在以下两个两个类 java util regex Matcher 模式类 用来表示一个编译过的正则表达式 java util regex Pattern
  • 编译原理三大经典书籍(龙书 虎书 鲸书)

    1 龙书 Dragon book 英文名 Compilers Principles Techniques and Tools 作者 Alfred V Aho Ravi Sethi Jeffrey D Ullman 中文名 编译原理技术和工具
  • 《python语言程序设计》第5章第10题 里EOFError:EOF when reading a line? 问题的解决(小白分享)

    废话不多说上题 编写程序提示用户输入学生个数以及每个学生的分数 然后显示最高分 假设输入是存储在一个名为score txt的文件 程序从这个文件获取输入 codeNumber eval input Enter class input 输入学
  • 位运算的那些奇技淫巧

    这里写目录标题 一 常 装 见 逼 的位操作 先看几个有意思的位操作 1 判断奇数偶数 2 交换两个数字 3 找出没有重复的数字 4 m的n次方 5 判断一个数是不是二的指数 6 找出不大于N的最大2的幂指数 二 leetcode解题 13
  • LINQ语句查询

    连接数据库 Linq语句查询 目前的学习进度来说也就是我们的单表和多表查询 它为匿名类型查询提供了一种很方便的方法 可用来将一组只读属性封装到单个对象中 而且还不需要先定义一个显示类型 因为它的类型名字直接由编译器生成 而且每一个属性的类型
  • 算法---栈的最小值

    实现一个这样的栈 这个栈除了可以进行普通的push pop操作以外 还可以进行getMin的操作 getMin方法被调用后 会返回当前栈的最小值 栈里面存放的都是 int 整数 并且数值的范围是 100000 100000 要求所有操作的时
  • 关于css nth-child

    选择第n个 n位数字 nth child n 选择列表中的偶数标签 nth child 2n 选择列表中的奇数标签 nth child 2n 1 选择前几个元素 负方向范围 选择第1个到第6个 nth child n 6 从第几个开始选择
  • FreeBSD简单汉化终结篇[基于core font的汉化]

    此贴解决了FreeBSD基本的汉化 字体的模糊 Win分区的 中文显示 XMMS的菜单及其他的中文显示 输入法fcitx的 安装等问题 1 安装kde i18n zh CN cd usr ports chinese kde3 i18n zh
  • 硬件参数 调整 麦克风MIC灵敏度 原理

    1 先看MIC电路连接 这是个差分输入的例子 MICP2和MICN2是一对差分信号 经过C156的滤波 输入到MIC两端 MIC两引脚分别是到地和供电 上图的R177参数就关系到MIC输入的灵敏度 2 电阻R177影响灵敏度分析 MICBI
  • three.js中通过gsap动画库实现物体的动画

    一 什么是gsap GSAP GreenSock Animation Platform 是一个JavaScript动画库 由GreenSock公司开发 用于在Web应用程序中创建高性能动画 使用GSAP可以通过一些简单的动画操作来实现复杂的
  • C语言怎么把int类型转为char,c++ 如何把一个int转为char*

    把int类型数字转成char类型 可以使用以下方法 char b 4 i nt a for int i 00 i lt 4 i b i char a a a gt gt 8 int用于符号 int s 符号表达式s的不定积分 int s v
  • DAPP开发之-Truffle命令手册

    安装框架 npm install g truffle 初始化 truffle init 编译 truffle compile 网络配置 truffle config 或 config 配置网络 例如 BSC测试网 mnemonic为助记词
  • Quartus II运行综合时警告Warning 15714

    Quartus II运行综合时警告Warning 15714 一 出现问题 第一次使用Quartus II编译项目代码时 软件报告如下警告 意思就是管脚有不完整的I O分配 二 问题解决 我当时也没多想 直接百度 看到一篇回答如下 看到这里
  • 11.Xaml DatePicker控件 时间控件

    1 运行效果 2 运行源码 a Xaml源码
  • python基础----03-----if语句、while、for循环、range语句、continue和break

    一 布尔类型和比较运算符 1 1 布尔类型和比较运算符 定义变量存储布尔类型数据 变量名称 布尔类型字面量 布尔类型不仅可以自行定义同时也可以通过计算的来 也就是使用比较运算符进行比较运算得到布尔类型的结果 在C C 中 比较运算符称之为关
  • 聊聊HotSpot VM的Native Memory Tracking

    序 本文主要研究一下HotSpot VM的Native Memory Tracking Native Memory Tracking java8给HotSpot VM引入了Native Memory Tracking NMT 特性 可以用于
  • react-router v6嵌套路由简单案例

    react router V6版本路由用法和V5用法差距较大 一个简单的使用案例 新版本组件也开始使用函数式组件 hooks react router dom 6 2 1 1 入口main import App css import Bro