创建路由React router(使用react-router dom V6版本)

news/2024/4/20 9:09:07/文章来源:https://blog.csdn.net/weixin_46022934/article/details/130364851

React路由

隔了很长一段时间,重新捡起来React学习。
发现React的路由从原来的 Switch改成了Routes。nice,nice,nice!!!!

刚开始接触确实还是有一点生疏的。之前的关于【传参】【js跳转】【跳转模式】【路由匹配】哪些还是有点印象。 在新的V6版本中,这些反而变的更加的简单了。

在这里插入图片描述


文章目录

  • React路由
  • 前言
  • 一、安装 react-router-dom (V6版本以上)
    • 命令行执行如下命令
  • 二、配置路由
    • 1. import导入组件如下
    • 2.导入展示组件(已经要提前写好自己展示的组件)
    • 3.在render中的配置如下
  • 三、路由的两种跳转方式(1.函数跳转 2.标签跳转)
    • 1. Link标签和useNavigate的使用(通过一个组件举例子)
    • 2. Link 和 useNavigate 的属性
      • 具体信息如下👇🔗
      • 配置如下图
  • 总结(本文未完结,后续会继续更新)


前言

本文大致介绍的的是如何在一个新的项目中自己搭建一个带路由的项目(要求:简单、易上手)

主要分为如下步骤:

1. 安装react的路由依赖
2. 配置路由(路由匹配、重定向)
3. 路由的跳转方式


一、安装 react-router-dom (V6版本以上)

命令行执行如下命令

//自动安装的就是 @6 版本以上的路由(无需关心)npm i react-router-dom (正确 🙆)

二、配置路由

1. import导入组件如下

//导入配置组件
import {BrowserRouter as Router, //路由组件(Vue中的router-view)Routes, //路由配置项 (Vue中的routes)Route, //路由对象 (Vue中的routes中的单个路由)Navigate, //重定向组件 (Vue中单个路由对像中的redirect属性)
} from "react-router-dom";

2.导入展示组件(已经要提前写好自己展示的组件)

//导入展示组件
import About from "./RouterComponent/About.jsx";
import AboutChildren from "./RouterComponent/AboutChildren/AboutChildren.jsx";
import Home from "./RouterComponent/Home.jsx";

3.在render中的配置如下

1. 这里的Route组件必须要用routes组件进行包裹!
2. Route组件中的属性 path (匹配的路由路径)
3. Route组件中的 element (同之前的component)
4. element属性必须是组件的形式,不能够是直接写 App 要写成 <App></App>
5.Navigate 组件主要是为了支持重定向,你们可以在使用的时候把这段代码注释,然后跳转到一个位置的路由下面,看看会发生什么情况!!!!


root.render(<Router><Routes><Route path="/" element={<App></App>}></Route><Route path="/about" element={<About></About>}></Route><Routepath="/about/child1"element={<AboutChildren></AboutChildren>}></Route><Route path="/home/:id" element={<Home></Home>}></Route>//这里注释的这部分主要是为了进行路由的重定向到App组件// <Route path="*" element={<Navigate to={"/"}></Navigate>}></Route></Routes></Router>
);

三、路由的两种跳转方式(1.函数跳转 2.标签跳转)

1. Link标签和useNavigate的使用(通过一个组件举例子)

//1.导入跳转的组件
import { Link, useNavigate } from "react-router-dom";export default function About() {
//2. 创建对应的跳转实例const navigate = useNavigate();return (<div>
//3. button按钮通过事件触发跳转到 /home 的页面<buttononClick={() => {navigate("/home");}}>跳转到home</button><div className="margin20"></div>//4.通过导入的 Link标签的 to属性跳转到指定的  /about/child1 路径下<Link to="/about/child1">跳转到child1</Link></div>);
}

2. Link 和 useNavigate 的属性

具体信息如下👇🔗

Link标签 介绍

useNavigate 介绍

配置如下图

在这里插入图片描述
在这里插入图片描述


总结(本文未完结,后续会继续更新)

提示:本文还需要完善,因为关于routes是JSON字段的配置形式还没更新。希望本文可以帮助大家轻松上手React路由

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_103317.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

矿井下无人值守变电所电力监控系统的探讨与产品选型

摘要&#xff1a;为了探讨井下无人值守变电所的电力监控系统技术&#xff0c;以西山煤电马兰矿为背景&#xff0c;详细阐述了井下无人值守变电所电力监控系统技术的各项基本参数&#xff0c;如额定工作电压及整机输入视在功率、交换机或监控分站的传输口、高压配电装置的传输口…

下载VMWare

1、首先登录到vmware官网 官网&#xff1a;https://www.vmware.com/ 2、点击Resource 3、找到Product Downloads 4、找到我们要下载的产品&#xff0c;点击download product 5、选择自己要下载的版本和对应的系统 6、点击去下载 7、点击download now

国云筑基“翼”气风发,天翼云以科技创新绘就数字中国蓝图

科技云报道原创。 全球新一轮技术革命方兴未艾&#xff0c;特别是以数字技术为核心的信息技术革命&#xff0c;正在实现群体突破和加快广泛深度应用。 从2017年的“促进数字经济加快成长”&#xff0c;到2019年的“壮大数字经济”&#xff0c;到2020年的“全面推进‘互联网&am…

SpringBoot的配置和日志

1.配置文件的作用和意义 配置文件中配置整个项目中所有重要的数据&#xff0c;比如&#xff1a; 1.数据库的连接信息&#xff08;包含用户名和密码的设置&#xff09;&#xff1b; 2.项目的启动端口&#xff1b; 3.第三方系统的调用秘钥等信息&#xff1b; 4.用于发现和定位问…

Unity之OpenXR+XR Interaction Toolkit实现 抓取物体

前言 我们今天来说一下如何使用XR Interaction Toolkit来实现和3D物体的交互之&#xff1a;抓取&#xff0c;简单说就是通过VR手柄拿起来一个物体。 二.准备工作 有了前两篇的配置介绍,我们就不在详细说明这些了&#xff0c;大家自行复习 Unity之OpenXRXR Interaction Toolk…

BPF技术学习与整理

目录 eBPF是什么&#xff1f; eBPF是做什么的&#xff1f;可以解决什么问题&#xff1f; eBPF可以带来的解决方案是什么&#xff1f; eBPF的技术点 eBPF hookeBPF MapeBPF Helper FunctioneBPF有什么限制吗&#xff1f; 前言 21年因为项目需求而要开发一个工具&#xff0c;可以…

每日一个小技巧:1招教你wav格式如何转换mp3

wav是一种质量较高的音频格式&#xff0c;但它的文件大小通常比较大。为了更方便地分享和存储音频文件&#xff0c;许多人都会选择将其转换为mp3格式。因为mp3格式能够在保持较高音质的同时&#xff0c;尽量降低文件大小&#xff0c;帮助你节省许多磁盘空间。那你们知道wav格式…

Java基础——多线程创建

&#xff08;1&#xff09;什么是线程&#xff1f; 线程(thread)是一个程序内部的一条执行路径。程序中只有一条执行路径&#xff0c;那么这个程序就是单线程的程序。 &#xff08;2&#xff09;多线程是什么&#xff1f; 多线程是指从软硬件上实现多执行流程的技术。 &…

让 ChatGPT 扮演一个艺术家,协助我们生成绘图 prompt

stable-diffusion Prompt 生成 直接生成 按照惯用的扮演思路&#xff0c;我们可以让 ChatGPT 扮演一个艺术家&#xff0c;协助我们生成绘图 prompt。考虑到 ChatGPT 和 DallE 同为 openai 公司产品&#xff0c;且 stable-diffusion 开源模型出现较晚&#xff0c;ChatGPT 训练…

【软件工程】UML序列图

一.概述 序列图&#xff08;时序图&#xff09;是一种软件工程行化建模方法&#xff0c;用于可视化系统或应用程序中多个对象之间 的交互。在序列图中&#xff0c;每个对象都表示为竖直线&#xff0c;对象之间的消息则表示为水平箭头 从一个对象指向另一个对象。 序列图可以…

搞懂 API ,地图 API 制作方法分享

地图 API 是一种基于 Web 开发的应用程序编程接口&#xff0c;可以用于创建和展示地图及地理信息。以下是一些地图 API 制作的方法&#xff1a; 选择地图 API 平台&#xff1a;目前市场上有很多地图 API 平台供选择&#xff0c;比如 Google Maps API、百度地图 API、高德地图 A…

2023年五月份图形化三级打卡试题

活动时间 从2023年5月1日至5月21日&#xff0c;每天一道编程题。 本次打卡的规则如下&#xff1a; 小朋友每天利用10~15分钟做一道编程题&#xff0c;遇到问题就来群内讨论&#xff0c;我来给大家答疑。 小朋友做完题目后&#xff0c;截图到朋友圈打卡并把打卡的截图发到活动群…

在阿里做测试开发的这5年,收获与感悟...

正好在离职交接空档期&#xff0c;就抽空简单分享自己的一些个人经历给大家&#xff0c;希望对刚毕业不久或者工作三五年的同学能有一些帮助。 测试新人 我的职业生涯开始和大多数测试人一样&#xff0c;开始接触都是纯功能界面测试。那时候在一家电商公司做测试&#xff0c;做…

基于异常值鲁棒性问题的极限学习机的回归问题研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

2023年五月份图形化四级打卡试题

活动时间 从2023年5月1日至5月21日&#xff0c;每天一道编程题。 本次打卡的规则如下&#xff1a; 小朋友每天利用10~15分钟做一道编程题&#xff0c;遇到问题就来群内讨论&#xff0c;我来给大家答疑。 小朋友做完题目后&#xff0c;截图到朋友圈打卡并把打卡的截图发到活动群…

【独具匠心设计】全网最好的国学,历代文学,名著,小说网推荐

极力推荐一个功能简单、易用、访问快捷、界面大气,清爽、资源丰富、设计专业、完全免费的文学网站。它的名字叫“历代文学”&#xff0c;是由成都心海科技公司所研发&#xff0c;设计真可谓独具匠心。 “历代文学”收录了来自古今中外 20 多个朝代&#xff0c;近 30个 国家的作…

消息队列选型

消息队列选型 大家好&#xff0c;我是易安&#xff01;今天我们聊下消息队列常见选型。 消息队列作用 谈选型之前我们先讲下我们为什么需要消息队列。 消息队列是一种很流行的技术&#xff0c;自从系统间开始通信时&#xff0c;消息队列就出现了。然而&#xff0c;对消息队列给…

Windows 远程桌面提示没有远程桌面授权服务器可以提供许可证

可参考之前发布的一篇文章&#xff0c;帮助你远程登录&#xff1a;远程连接提示 由于没有远程桌面授权服务器提供许可证_计算机没有远程桌面客户端访问许可证_csdn_aspnet的博客-CSDN博客 虽然上述文章命令可以远程进入系统&#xff0c;但是每次都需要使用上述文章中的命令进入…

【数据库】索引和事务

目录 1.索引 1.1关于索引 索引是什么&#xff1f; 为什么要有索引&#xff1f; 索引的作用&#xff1f; 索引的优点和缺点&#xff1f; 1.2索引类型及创建 索引的分类 创建索引 1.3索引的数据结构 1.4索引覆盖 2.事务 2.1关于事务 概念 事务的使用 2.2事务的特…

他们是怎么使用上gpt-4的-gpt-4在哪用

为什么有人在使用GPT4 openAI尚未正式发布GPT-4模型&#xff0c;也没有公布任何与GPT-4相关的信息。因此&#xff0c;没有人可以在使用GPT-4模型。 值得注意的是&#xff0c;虽然OpenAI尚未正式发布GPT-4&#xff0c;但由于其之前发布的GPT-3具有出色的性能和功能&#xff0c…