50.React跳转路由传参3种方法和区别

1.路由表配置:参数地址栏显示

<Route path="/list/:id" component={List} />
html:<Link to=‘/list/2‘ >跳转列表页面</Link>
Js: this.props.history.push(‘/list/2‘);
List页面接收:
console.log(this.props.match.params.id)//传递过来的所有参数

2.query方法:参数地址栏不显示,刷新地址栏,参数丢失
html:
<Link to={{ pathname: ‘/list‘, query: { name: ‘xlf‘ } }}>跳转列表页面</Link>
Js方式:this.props.history.push({ pathname: ‘/list‘, query: { name: ‘ sunny‘ } })
List页面接收:
console.log(this.props.location.query.name)//传递过来的所有参数

3.state方法:参数地址栏不显示,刷新地址栏,参数不丢失
Html: <Link to={{ pathname: ‘/list‘, state: { name: ‘xlf‘ } }}>跳转列表页面</Link>
js:this.props.history.push({ pathname: ‘/list‘, state: { name: ‘sunny‘ } })
List页面接收
console.log(this.props.location.state.name)//传递过来的所有参数

原文地址:https://www.cnblogs.com/xlfdqf/p/12098520.html

时间: 2024-07-31 03:21:54

50.React跳转路由传参3种方法和区别的相关文章

vue路由传参query和params的区别

1.用法 A.query要用path来引入(用name来引入也可以),接收参数都是this.$route.query.name. B.params要用name来引入,接收参数都是this.$route.params.name. 2.效果 A.query类似于ajax中get传参,即在浏览器地址栏中显示参数. B.params则类似于post,即在浏览器地址栏中不显示参数. 3.个人建议 在路由传参上建议使用params,以隐藏参数,做好安全保密.

vue-router和react-router-dom路由传参对照

React 1.动态路由传参 <Route exact path="/detail/:id" component={Detail}/> 接收 componentDidMount() { console.log(this.props.match.params); } 2.函数传参(push)加密的地址栏不可见 <button onClick={() => this.props.history.push({ pathname: '/detail', state: {

react做路由跳转,路由传参 &#340936;

原文: http://blog.gqylpy.com/gqy/496 置顶:来自一名75后老程序员的武林秘籍--必读(博主推荐) 来,先呈上武林秘籍链接:http://blog.gqylpy.com/gqy/401/ 你好,我是一名极客!一个 75 后的老工程师! 我将花两分钟,表述清楚我让你读这段文字的目的! 如果你看过武侠小说,你可以把这个经历理解为,你失足落入一个山洞遇到了一位垂暮的老者!而这位老者打算传你一套武功秘籍! 没错,我就是这个老者! 干研发 20 多年了!我也年轻过,奋斗过!我

前端Vue框架 04 路由:逻辑跳转、路由传参 项目组件的数据局部化处理data(){ return{} } 组件的声明周期 组件间通信 各种第三方插件(vuex,axios,element-ui,(jq+bs))

项目初始化 """ 1)根组件:App.vue <template> <div id="app"> <router-view /> </div> </template> 2)路由配置:router/index.js const routes = [ { path: '/', name: 'Home', component: Home } ]; 3)组件:views和components文件夹 i)

三种方式获取小程序页面跳转并传参

方法一.可以将数据保存在app.js文件中,因为app.js的数据是全局可见的,但是如果所有全局变量都放到app.js中,会导致该文件很臃肿 方法二.通过官方文档可知在页面onLoad生命周期的参数中获取打开当前页面路径中的参数.那么可以通过 wx.navigateTo()传递参数,跳转到官方文档. 数据可以传递一个或多个,也可传递数组和json对象 注意:因为url的长度有限,对象太长,结果发现拼接在URL之后不完整,导致之后解析不出来,所以路由传参对象时要注意,传参的对象不能太长. eg:

Vue路由传参及传参后刷新导致参数消失处理

参考:https://blog.csdn.net/qq_43103581/article/details/82260073(vue 路由传递参数,刷新页面后参数丢失) 项目功能需要,要从列表页跳转到第三方提供的URL上(这里第三方页面我是通过iframe引入在详情页,目的是点击返回时可以通过keepAlive让列表页不刷新,如果不通过iframe直接跳第三方链接,那么返回必然会重新拉取数据),一路百度,刚开始使用 this.$router.push({name:'list', params:{i

Vue路由传参的几种方式

原 Vue路由传参的几种方式 2018年07月28日 23:52:40 广积粮缓称王 阅读数 12613 前言:顾名思义,vue路由传参是指嵌套路由时父路由向子路由传递参数,否则操作无效.传参方式可以划分为params传参和query传参,params传参又可以分为url中显示参数和不显示参数两种方式.具体区分和使用后续分析. 参考官网:https://router.vuejs.org/zh/guide/essentials/navigation.html params传参(url中显示参数)

小程序路由传参

这里会有一个问题,如果要传字符还好说,如果是boolean值传过去 ,接收过来还是字符串 小程序路由跳转有两种方式: wx.navigateTo() 会后退按钮:  wx.redirectTo() 不会有路由跳转 1.wx.navigateTo() 路由跳转 2.wx.redirectTo() 路由重定向 3.navigateBack() 页面返回 还有几个 可以看看 这位大佬 写的详细些  https://www.cnblogs.com/cckui/p/10007976.html  (我写呢

vue路由传参

vue路由url 传参 :params 从客户列表页 通过路由跳转到客户详情页 查看客户详情时 需要将当前客户的id 和所属企业的id 当做参数传给后台. 在跳转时,将客户id 和企业id 通过路由传参 传给 客户详情页 客户列表: 客户详情 通过 this.$router.params 获取 参数 路由 router.js 路由传一个对象:query 有时我们需要传很多数据过去,为了避免大量拼接,我们可以传一个对象 通过this.$router.query接收对象参数 这里router 路由