react 路由传参
今天,我们要讨论的是react router中Link传值的三种表现形式。分别为通过通配符传参、query传参和state传参。
ps:进入正题前,先说明一下,以下的所有内容都是在react-router V4的版本下。
1.params
Route定义方式:
<Route path='/path/:name' component={Path}/>
Link组件:
HTML方式
<Link to="/path/通过通配符传参">通配符</Link>
JS方式
this.props.history.push({
pathname:'/shopCarDetail',
params:{
name:'jack'
}
});
参数获取:
this.props.location.params.name // jack
2.query
Route定义方式:
<Route path='/query' component={Query}/>
Link组件:
HTML方式
var query = {
pathname: '/query',
query: {day: 'Friday'}
}
<Link to={query}>query</Link>
JS方式
this.props.history.push({
pathname:'/query',
query:{
day:'Friday'
}
});
参数获取:
this.props.location.query.day // Friday
优点:优雅,可传对象
缺点:刷新页面,参数丢失
3.state
Route定义方式:
<Route path='/state' component={State}/>
Link组件:
HTML方式
var state = {
pathname: '/state',
state: {name: 'sunny'}
}
<Link to={state}>state</Link>
JS方式
this.props.history.push({
pathname:'/state',
state:{
name:'sunny'
}
});
参数获取:
this.props.location.state.name // sunny
优点:优雅,可传对象
缺点:刷新页面,参数丢失
react 路由传参的更多相关文章
- react --- 路由传参的几种方式
1.params 优势 : 刷新地址栏,参数依然存在缺点:只能传字符串,并且,如果传的值太多的话,url会变得长而丑陋. 2.query 优势:传参优雅,传递参数可传对象:缺点:刷新地址栏,参数丢失 ...
- React路由传参的三种方式
方式 一: 通过params 1.路由表中 <Route path=' /sort/:id ' component= ...
- react路由传参
方法1 <刷新页面参数会消失> <Link className="item" to={{pathname:'/order',params:{index :&quo ...
- react router @4 和 vue路由 详解(五)react怎么通过路由传参
完整版:https://www.cnblogs.com/yangyangxxb/p/10066650.html 7.react怎么通过路由传参? a.通配符传参(刷新页面数据不丢失) //在定义路由的 ...
- react router @4 和 vue路由 详解(六)vue怎么通过路由传参?
完整版:https://www.cnblogs.com/yangyangxxb/p/10066650.html 8.vue怎么通过路由传参? a.通配符传参数 //在定义路由的时候 { path: ' ...
- 8.MVC框架开发(URL路由配置和URL路由传参空值处理)
1.ASP.NET和MVC的路由请求处理 1)ASP.NET的处理 请求---------响应请求(HttpModule)--------处理请求(HttpHandler)--------把请求的资源 ...
- vue链接传参与路由传参
1.链接传参: 例如:链接是:http://localhost:3333/#/index?id=001 我们要获取参数:console.log(this.$route.query.id):即可 2.路 ...
- vue路由传参的三种方式区别(params,query)
最近在做一个项目涉及到列表到详情页的参数的传递,网上搜索一下路由传参,结合自己的写法找到一种适合自己的,不过也对三种写法都有了了解,在此记录一下 <ul class="table_in ...
- vue动态路由配置,vue路由传参
动态路由: 当我们很多个页面或者组件都要被很多次重复利用的时候,我们的路由都指向同一个组件,这时候从不同组件进入一个"共用"的组件,并且还要传参数,渲染不同的数据 这就要用到动态路 ...
随机推荐
- linuxlinux0.11源码学习——bootsect.s学习
由于一直想写一个自己的操作系统,网上推荐了<linux内核完全注释>.自学了一个星期,感觉这本书还是很好的,同时写下关于内核代码的理解,如果有什么不对的对方,欢迎大家一起来交流. 在内核引 ...
- 2章 perl标量变量
标量变量 单单存储一个值得变量 ,单个标量值 $name 为变量 区分大小写 $barney=$barney*2 第一次 取值 等号右边 :第二次 赋值 等号左边 双目操作符 ...
- TensorFlow笔记——
主要依赖包 protocal buffer 处理结构化数据的工具:序列化(结构化数据->数据流) + 还原(数据流->结构化数据) protocol buffer与XML和JSON的区别: ...
- [持续集成学习篇]【1】[jenkins安装与配置]
Guided Tour This guided tour will use the "standalone" Jenkins distribution which requires ...
- GridView从行寻找到该控件,以及从该控件获知该行
原文发布时间为:2008-08-01 -- 来源于本人的百度文章 [由搬家工具导入] GridView从行寻找到该控件: protected void Button3_Click(object sen ...
- 用node写的一个后台框架
server.js var http=require('http') var handleUrl=require('./handleUrl') var config = require('./conf ...
- Scrapy学习-17-暂停和重启
Scrapy爬虫暂停和重启 在当前项目下新建一个用于存储中间过程变量的目录 注意不同的spider不能共用一个目录 同一个spider每次运行时也必须使用新的目录 mkdir <spider_p ...
- docker部署 mysql redis问题
问题:(ubuntu不报错,centos报错) ERROR: : starting container process caused "process_linux.go:402: conta ...
- kafka性能调优
https://blog.csdn.net/u013063153/article/details/73826322
- 转---派遣例程与IRP结构
派遣例程与IRP结构 文章出处:http://www.cnblogs.com/zmlctt/p/3978124.html#commentform 提到派遣例程,必须理解IRP(I/O Requ ...