react 18 react-router-dom V6 路由传参的几种方式

devtools/2024/11/7 23:24:31/

路由配置如下

    label:"首页",meta:{title:"首页"}},{path: '/',// <AutnToken><Layout></Layout></AutnToken>element:<Layout></Layout>,label:"首页",meta:{title:"首页"},children:[{path:'/home',element:withLoading(<Home></Home>),label:"首页",meta:{title:"首页"}},{path:'/chargingStation',element:withLoading(<ChargManage></ChargManage>),label:"充电站管理",meta:{title:"充电站管理"},children:[{path:'/chargingStation/list',element:withLoading(<ChargMangeList></ChargMangeList>),label:"充电站列表",meta:{title:"充电站列表"}},{path:'/chargingStation/addCharginns',element:withLoading(<AddChargingStation></AddChargingStation>),label:"添加充电站",},{path:'/chargingStation/chargingPile',element:withLoading(<Citytree></Citytree>),label:"充电桩列表",meta:{title:"充电桩列表"}}]},{path:'/systemSet',element:withLoading(<Systemset></Systemset>),label:"设置",meta:{title:"设置"},children:[{path:'/systemSet/list/:id?',element:withLoading(<Citytree></Citytree>),label:"区域管理",meta:{title:"区域管理"}}]}]},{path: '/login',element:<Login></Login>,label:"登录"},{path: '*',element:<Page404></Page404>,label:"404"},
]

编程式路由跳转后传参

跳转的几种方式import { useNavigate } from 'react-router-dom';const navigate = useNavigate();navigate('/chargingStation/addCharginns');navigate('/chargingStation/addCharginns', { replace: true });navigate({pathname: '/chargingStation/addCharginns'});navigate({pathname: '/chargingStation/addCharginns',search: '?id=100&name=zhufeng'});navigate(`/systemSet/list/15`); 

参数两种方式

问号传参
import qs from 'qs';navigate({pathname:'/chargingStation/addCharginns',search:qs.stringfy({id:100,name:'zhufeng'})})路由传参
navigate(`/systemSet/list/15`); 隐藏参数 也就是浏览器无法直接看到参数navigate('/chargingStation/addCharginns', {//历史记录池替换现有地址replace: true,//隐式传参信息state: {id: 100,name: 'zhufeng'}});

获取路由中的参数

	//获取问号传参信息const location = useLocation();// location.search:"?id=100&name=zhufeng"const usp = new URLSearchParams(location.search);console.log(usp.get('id'), usp.get('name')); //获取问号传参信息//useSearchParams返回结果是一个数组//数组第一项是URLParamsSearch对象 第二个参数是修改的方法let [usp] = useSearchParams();console.log(usp.get('id'), usp.get('name'));*///获取路径参数信息const params = useParams();console.log(params); //=>{id:100,name:'zhufeng'} *///获取隐式传参信息const location = useLocation();console.log(location.state);

http://www.ppmy.cn/devtools/131673.html

相关文章

域名自动重定向8080端口无法访问后端服务问题

1.问题描述&#xff1a; 今天遇到个这样的问题&#xff0c;访问应用某个地址&#xff1a;http://域名/上下文 一直提示失败&#xff0c;会自动被后端重定向到8080端口&#xff0c;去掉url上的8080端口号再次访问&#xff0c;就正常 2.原因&#xff1a; 根本原因还是因…

推荐这五款免费项目管理软件让你轻松应对所有项目

项目经理推荐的这五款免费项目管理软件让你轻松应对所有项目。无论你的项目规模大小&#xff0c;或是所处的行业领域&#xff0c;这些工具都能提供强大的功能支持&#xff0c;助力你高效管理项目&#xff0c;提升团队协作效率。从任务分配、进度跟踪到资源调度&#xff0c;这些…

Linux中的软硬链接文件详解

概述 在Linux文件系统中&#xff0c;软连接&#xff08;Symbolic Link&#xff09;和硬连接&#xff08;Hard Link&#xff09;是两种重要的文件链接方式。它们都可以创建指向相同文件内容的多个“链接”&#xff0c;但在实现方式和特性上有所不同。 1. 硬连接&#xff08;Ha…

斯坦福医学部发布GPT润色本子教程

最近&#xff0c;斯坦福大学医学部在GitHub上发布了一份针对申请资源本子润色的详细指导&#xff0c;包括使用GPT和其他大型语言模型来提升学术写作质量的全面建议。本文将为大家梳理这些润色指令&#xff0c;帮助你更好地理解和利用AI工具来优化学术写作。 指令集合 1. 提升文…

docker-ce-stable‘ 下载元数据失败 : Cannot download repomd.xml: Cannot download

看起来你在尝试安装 containerd.io-1.6.32 时遇到了问题&#xff0c;因为 docker-ce-stable 仓库的元数据下载失败。以下是一些可能的解决方案&#xff1a; 1. 检查仓库配置 确保你的 /etc/yum.repos.d/ 目录下的 docker-ce.repo 文件配置正确。你可以尝试手动编辑该文件&…

C++设计模式结构型模式———组合模式

文章目录 一、引言二、组合模式三、总结 一、引言 组合模式是一种结构型设计模式&#xff0c; 可以使用它将对象组合成树状结构&#xff0c; 并且能像使用独立对象一样使用它们。代码实现中涉及了递归调用。组合模式与传统上的“类与类之间的组合关系”没有关联&#xff0c;不…

无人机的就业前景怎么样?

无人机的就业前景在当前及未来一段时间内都非常广阔。随着低空经济的蓬勃发展&#xff0c;无人机在农业、公安、测绘、交通、应急救援、影视拍摄等多个领域得到了广泛应用&#xff0c;对无人机操控员和相关专业人才的需求也随之急剧增加。 一、无人机操控员的就业前景 1. 高需…

SpringBoot节奏:Web音乐网站构建手册

2相关技术 2.1 MYSQL数据库 MySQL是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统&#xff0c;它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等&#xff0c;非常…