umi4学习 路由跳转 history useNavigate 的使用

本文介绍了在使用Umi框架时,如何通过`history.push`和`useNavigate`处理不同场景下的参数传递,包括无参数跳转、携带大量参数和通过地址栏显示少量参数的方法,以及在详情页面获取这些参数的方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

umi4+history 已经不用query传参了,接下来就来讲讲如何传参吧
在这里插入图片描述

- 第一种,适用于只跳转路径,不携带参数

 import {  history } from "umi";
 history.push('/user');

- 第二种,用于携带参数,并且参数很多的情况
在这里插入图片描述

 // 列表界面
 import { useNavigate } from "umi";
 export default ()=>{
   const navigator = useNavigate();

  const handleClick=()=>{
      navigator("/user/detail", {
           state: {
           // 需要传到详情的参数
           },
    });
}

return   <Button onClick={handleClick} >进入详情</Button>
}

// 详情界面,如何获取参数
import { useLocation } from "umi";

export default () => {
// state是我们传过来的参数,这种传参和取值的形式,是不会再浏览器地址上显示字段的,比较友好,也不容易暴露信息
  const { pathname, state } = useLocation();
  
  console.log(state);
}

- 第三种 参数较少,想通过地址栏传值的

// 列表界面
import { history } from "umi";

history.push({
      pathname:’/user/detail‘,
      search: `?id=123`,
    });


// 详情界面取值
import { useLocation } from "umi";

export default ()=>{
  const { search } = useLocation();
  let searchParams = new URLSearchParams(search);
  
  console.log(searchParams.get("id"))
  
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值