ReactRouter-参数传递与获取参数

1. 动态路由传参

  • 前提配置路由,留好占位
// 1.配置占位
<HashRouter>
  <Switch>
     <Route path="/xxx/:id"></Route> //留好占位
  </Switch>
</HashRouter>

// 2.参数传递
import useHistory from 'react-router-dom'
const historty = useHistory()
let id = 6666;
history.push(`/xxx/${id}`);

// 3.接收参数
let param = props.match.param.id;
console.log(param)

2. query传参

  • 优点:传参优雅,传递参数可传对象;
  • 缺点:刷新地址栏,参数丢失。
// 1.参数传递
import useHistory from 'react-router-dom'
const historty = useHistory()

history.push({ pathname: '/xxxx', query: { id: 666} });

// 2.接收参数
console.log(props.location.query.id)

3. search传参

  • 优点:页面刷新,参数不会丢失;
  • 缺点:传值太多url也会变的很长。
// 1.参数传递
import useHistory from 'react-router-dom'
const historty = useHistory()

history.push({ pathname: '/xxxx', state: { id: 666} });

// 2.接收参数
console.log(props.location.state.id)
posted @   icey-Tang  阅读(710)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示