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嵌套路由简单案例 的相关文章

随机推荐

  • 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