react路由传参params、search、state

params

传参:

链接: <NavLink to='/layout/home/message/1'>Message<NavLink>
函数式:this.props.history.push('/layout/home/message/1')

声明:

<Route path='/layout/home/message/:id' component={Message}></Route>

接收:

this.props.match.params.id

search

传参:

链接: <NavLink to='/layout/home/message/?name=zhang&age=20'>Message<NavLink>
函数式:this.props.history.push('/layout/home/message/?name=zhang&age=20')

声明:

<Route path='/layout/home/message' component={Message}></Route>

接收:

import qs from 'qs'
let { name, age } = qs.parse(this.props.location.search.slice(1))

state

传参:

链接: <NavLink to={{pathname:'/layout/home/message',state:{name:'zhang'}}}>Message<NavLink>
函数式:this.props.history.push({pathname:'/layout/home/message',state:{name:'zhang'}})

声明:

<Route path='/layout/home/message' component={Message}></Route>

接收:

this.props.location.state.name

总结:使用HashRouter时刷新浏览器state参数会丢失,BrowserRouter不会。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值