react router路由传参三种方式

2023-05-16

react router路由传参三种方式:通过通配符传参、query传参和state传参。

1.通配符传参

Route定义方式:
<Route path='/path/:name' component={Path}/>
Link组件:
<Link to="/path/通过通配符传参">通配符</Link>
参数获取:
this.props.match.params.name

优点:简单快捷,并且,在刷新页面的时候,参数不会丢失。

缺点:只能传字符串,并且,如果传的值太多的话,url会变得长而丑陋。

如果,你想传对象的话,可以用JSON.stringify(),想将其转为字符串,然后另外的页面接收后,用JSON.parse()转回去。
 

2.query
Route定义方式:
<Route path='/query' component={Query}/>
Link组件:
var query = {
        pathname: '/query',
        query: '我是通过query传值 '
}
 
<Link to={query}>query</Link>
参数获取:
this.props.location.query

优点:优雅,可传对象

缺点:刷新页面,参数丢失

3.state
Route定义方式:
<Link to={state}>state</Link>
Link组件:
var state = {
        pathname: '/state',
        state: '我是通过state传值'
    }
    <Route path='/state' component={State}/>
参数获取:
this.props.location.state
这里的this.props.location.state === '我是通过query传值'

优点:优雅,可传对象

缺点:刷新页面,参数丢失

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

react router路由传参三种方式 的相关文章

  • quill编辑器使用

    官方git https github com quilljs quill 官方文档 https quilljs com 中文文档 https kang bing kui gitbook io quill 编辑器是个正经编辑器 就是文档太不正
  • 【React】 4课 react初识组件

    首先我们如1课创建一个文件夹在文件夹中安装react环境需要的配置文件 npm init y npm i babel standalone D npm i react react dom D 安装配置文件教程链接 https blog cs
  • vue发展历史简介

    基本介绍 Vue 是一套用于构建用户界面的 渐进式框架 与其它大型框架不同的是 Vue 被设计为可以自底向上逐层应用 最初它不过是个人项目 时至今日 已成为全世界三大前端框架之一 github 上拥有 17 8万 Star 领先于 Reac
  • Angular2 NavigationEnd 事件的“事件”类型中不存在属性“url”

    this subscription this router events subscribe event Event gt console log event url Error Property url does not exist on
  • 具有多个参数的骨干路由器

    我需要让它发挥作用 routes product showProduct product detail showProductDetail 在设置 product 路由时 即使之后设置 也永远不会调用 showProductDetail 我
  • ZF2:获取应用程序布局中的模块名称(或路由)以突出显示菜单

    如何在 ZF2 中获取应用程序布局中当前 选定的 模块名称 目的 我的应用程序布局包括zf2应用程序的主菜单 每次选择模块时我需要突出显示该模块的菜单语音 另外 当用它制作菜单时 我需要设置正确的路线 url action 每个模块都有菜单
  • RouterModule.forRoot(ROUTES) 与 RouterModule.forChild(ROUTES)

    这两者之间有什么区别 各自的用例是什么 The docs并不完全有帮助 forRoot 创建一个包含所有指令的模块 给定的 路由 以及路由器服务本身 forChild 创建一个模块 包含所有指令和给定的路由 但不包括 路由器服务 我模糊的猜
  • Angular4 - 从组件而不是模板更改状态

    在 AngularJS 中 我使用 ui router 在我的应用程序内部进行重定向 更改状态 它有 2 个可能的重定向选项 在模板中ui sref stateName 在控制器中 state go 我刚刚开始使用 Angular 4 我找
  • Angular2注入的路由器未定义

    如果我将路由器从 angular router 注入到组件中然后使用它 我会收到一条错误消息 指出无法调用未定义的 navigatorByUrl 这是我使用路由器实例的组件 import Component OnInit from angu
  • Express/Mongoose 路由器:“由于路径“_id”处的值“未定义”,转换到 ObjectId 失败”

    我在 Express 中有一个简单的 API 允许用户将帖子标题 发布 和 删除 到 MongoDB 数据库中 由于某种原因 当我添加帖子标题 然后 删除 它时 我收到 在路径 id 处 值 未定义 转换到 ObjectId 失败 当我创建
  • CodeIgniter 中不区分大小写的路由

    我已将其写入 CodeIgniter 的路由器中 route companyname profile 1 这工作正常 但是当我在 URL 中输入 CompanyName 时 它就不起作用了 这是因为大写字符 我想让这个路由不区分大小写 请建
  • 如何在 nextjs 中导航而不丢失标头组件的状态

    有没有什么方法可以创建 构建 next js 应用程序进行导航而不丢失标头组件状态 让我解释 我有这样的标题组件 import useState from react import Link from next link export co
  • 黑马React:基础拓展

    黑马React D10 基础拓展 Date December 18 2023 useReducer 基础使用 作用 让 React 管理多个 相对关联 的状态数据 补充 和useState的作用类似 用来管理相对复杂的状态数据 特点 use
  • 收到 icmp 请求,但没有回复 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 这个问题似乎不是关于主要由程序员使用的特定编程问题 软件算法或软件工具 help on topic 如果您认为该问题与主题相关另一个 St
  • Angular2 中 api 调用后重定向到路由

    在处理 通过 api 用户通过表单提交的数据后 我需要将用户重定向到不同的组件 下面是我尝试过的代码 在组件中 onSubmit model if model valid true this SharedService postFormda
  • 在反应路由器中刷新时出现空白页面

    当我从 home 导航到 dashboard 时 路由器工作正常 但是当我从 home 导航到 profile id 时 路由器将我导航到也工作正常的配置文件页面 但是当我刷新它时 它会变成空白页面并且没有给我任何 404 或重定向回主页
  • emberjs:如何在视图中触发自定义事件

    我想将原始事件 单击 转换为语义事件 例如 deleteTodo 这是描述的here http emberjs com guides views 但不知道如何实施 我有以下代码 App TodoView Em View extend cli
  • React Router - 刷新后保持在同一页面

    我正在学习反应 我有一个包含 4 个子页面的页面 我使用 React Router 来浏览这些页面 除了重新加载页面之外 一切正常 当我从页面 主页 转到 关于 或其他页面时 这是可以的 但是当我刷新页面时 它会再次渲染页面 关于 一秒钟
  • AngularJS:使用具有可选参数的 URL 进行路由

    我的 app js 中有一个包含路由的 URL 假设网址是 api opt1 opt2 opt3 users 我希望我的网址在任何情况下都能工作 我应该能够忽略可选参数 opt1 opt2 或 opt3 可能是全部或几个 我怎样才能做到这一
  • 带有 Vue 项目路由的 Azure 静态 Web 应用程序无法正常工作

    我有一个使用 Azure Static Web App 部署的 vue 项目 项目包含路由器 历史模式 功能 它在本地运行完美 但部署到 Azure 路径链接后无法正常工作 例如 当我尝试从浏览器导航访问 mysite com about

随机推荐

  • github 常用命令汇总 更新代码和子模块的代码

    针对PX4代码 xff0c 在github库中建立了Firmware的分支 xff0c ADRC branch xff0c 用于存放修改的代码 xff0c 其中涉及了子模块ecl的修改 代码下载 xff1a git clone https
  • C、C++多线程编程

    本文的笔记来自于b站视频的爱编程的大丙 xff0c 博客链接 xff1a https subingwen cn xff0c 有做了相应的补充 xff01 一 线程概述 进程对应的虚拟地址空间的各个分区如图 xff1a 每个进程的虚拟地址空间
  • 【x86架构】中断基础介绍

    说明 本文讲的是Intel的x86架构下的中断 参考的文档主要如下所示 xff1a 64 ia 32 architectures software developer manual pdf PCI Express体系结构导读 x86 x64
  • Java中的this有哪四种用法

    JAVA中的this是一个非常重要的模块 在编程中有非常重要的地位 擅长用this的人常常可以使程序更加简洁和方便 今天来了解一下this的用法 java中this关键字必须放在非静态方法里面 xff0c this关键字代表自身 xff0c
  • 线程不执行delegate,防止线程结束

    如果我们将NSURLConnection放在线程中 xff0c 是不是delegate方法总是不会触发 xff1f 原因就是由于线程结束了 解决方法就是让线程在数据返回之前不结束 1 可以在线程中加一个timer防止结束 xff0c 这方法
  • vscode 配置 git (配置、暂存、推送、拉取、免密)

    前些天发现了一个巨牛的人工智能学习网站 xff0c 通俗易懂 xff0c 风趣幽默 xff0c 忍不住分享一下给大家 点击跳转到教程 vscode 中对 git 进行了集成 xff0c 很多操作只需点击就能操作 xff0c 无需写一些 gi
  • 计算机视觉3 SIFT特征提取与全景图像拼接

    1 原理 检测并提取图像的特征和关键点匹配两个图像之间的描述符使用RANSAC算法使用我们匹配的特征向量估计单应矩阵拼接图像 步骤一和步骤二过程是运用SIFT局部描述算子检测图像中的关键点和特征 xff0c SIFT特征是基于物体上的一些局
  • 高超声速滑翔飞行器摆动式机动突防弹道设计(源代码)

    谢愈 xff0c 刘鲁华等 xff0c 高超声速滑翔飞行器摆动式机动突防弹道设计 xff0c 航空学报 xff0c 2011 算法有两个控制量 xff1a 攻角和倾侧角 xff0c 攻角只是起辅助作用 xff0c 主要还是倾侧角的设计 由于
  • 4轴开发之串级PID调试技巧

    欢迎查看我原始的出处 xff1a http lindue com 17868 html 调节串环 PID 大概过程 xff08 注意修正反向 xff09 1 估计大概的起飞油门 2 调整角速度内环参数 3 将角度外环加上 xff0c 调整外
  • 2013第四届蓝桥杯省赛C++C组【第四题:幻方填空】

    第四题 标题 xff1a 幻方填空 题目描述 xff1a 幻方是把一些数字填写在方阵中 xff0c 使得行 列 两条对角线的数字之和都相等 欧洲最著名的幻方是德国数学家 画家迪勒创作的版画 忧郁 中给出的一个4阶幻方 他把1 2 3 16
  • SLAM 02.整体框架

    上一篇文章是从人类角度来分析SLAM技术 xff0c 其实任何计算机技术的实现都是从人类思维出发去解决实际问题 本篇从技术实现角度讲解SLAM的实现框架 SLAM在自主导航中的位置 在整个移动机器人自主导航 xff08 包括自动驾驶 xff
  • SLAM 04.视觉里程计-1-相机模型

    相机模型是理解视觉里程计之前的基础 本文主要是对高翔博士的 SLAM十四讲 的总结 视觉里程计就是要根据相机拍摄的多幅图像估计出机器人当前的位置 xff0c 然后再重建地图 单目相机 相机模型里涉及到如下几个坐标 xff1a 空间坐标 物理
  • 第n次安装ros遇到的第n个问题

    自从入坑ros以来 xff0c 在导师公司的要求下 xff0c 我在无数的台式机 xff0c 工控机 xff0c 笔记本里刷linux系统 xff0c 搭ros环境 按照百度的安装教程 xff1a 换源 但是每次都能遇到不同稀奇古怪的问题
  • c/c++常用资源 c/c++书籍下载

    c c 43 43 常用资源 aix在线文档 xff1a http publib16 boulder ibm com cgi bin ds rslt 1 各种c c 43 43 编译器 http www clipx net norton p
  • 关于Android应用支持IPV6

    今天看了一些关于Android应用关于支持IPV6的问题 xff0c 简单记录 ipv从地址来说比v4多了 xff0c 长度更长 1 正常来说OKHttp xff0c XUtils等上层网络框架是支持ipv6的 但是如果你的应用中用到了so
  • 面试 | 推荐几个程序员刷题的网站!面试必备!!!

    经常有朋友问我 xff0c 有没有在线刷题的网站推荐 为什么要用线上刷题呢 xff1f 确实有一定好处 xff0c 线上的笔试题有自动更新 xff0c 可以记录你刷题的记录 xff0c 更好的来统计你的错误率和错误题型 最主要的是方便 xf
  • Docker镜像构建过程记录

    Docker镜像构建过程记录 为公司一个java工程 xff0c 构建一个docker镜像 xff0c 并将镜像存入私有库中 记录一下操作过程 1 打包 这是一个spring boot的maven工程 xff0c 打包命令就很简单了 spa
  • 直流可调稳压电源的Proteus仿真设计(附仿真+论文等资料)

    注意 xff1a 全套资源获取 xff0c 请见文末说明 设计要求 1 输出电压在1 25V 37V可调 xff1b 2 最大输出电流为1 5A xff1b 3 电压调整精度达0 1 xff1b 摘要 直流稳压电源由电源变换器 桥式整流滤波
  • GPT PMBR size mismatch 解决方法

    https blog csdn net agave7 article details 83177858 root 64 debian home liyezhen src sbk debian 32bit build product tool
  • react router路由传参三种方式

    react router路由传参三种方式 xff1a 通过通配符传参 query传参和state传参 1 通配符传参 Route定义方式 xff1a lt Route path 61 39 path name 39 component 61