从路径中取出传过来的参数

出现的场景:
从一个页面跳转到另一个页面的时候,有时候我们需要传过去id或者具体的value等参数,可以使用添加到路径上的方法。
例如: &id=*放在路径的后面的样子
然后使用:


export const getQueryString = function getQueryString(search,name) {
var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i');
var r = search.substr(1).match(reg);
if (r != null) {
return unescape(r[2]);
}
return null;
获取传出去的数值

传出去的页面可以这样写:


<Link to={{
pathname: '/orderCenter/list/details',
search: `?id=${record.id}`,
// state: {
// id: record.id,
// },
}} >
<span onClick={e => this.details(e, record.id)} key={record.id}>详情</span>
</Link>
(这里在实践的过程中发现,如果使用下面的方式传过去id,即id是不会在路径上显示出来的
// state: {
// id: record.id,
// }, 那么在取值的那个页面刷新之后,id的值会变成undefined)

需要的页面就可以:

id: getQueryString( this.props.location.search, 'ID'),

解释:this.props.location.search就是从路径上取出我们传过去的值,然后赋给id

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值