【umi】umijs/[email protected] history.push如何传递对象数据

url携参和对象整个传递的写法简述

版本:“@umijs/max”: “^4.0.87”,

跳转的组件

							import { history } from 'umi';
							// ...
							
							<Icon
                                style={{ verticalAlign: 'middle' }}
                                size={16}
                                className={styles.actionIcon}
                                onClick={() => {
                                    history.push(
                                        {
                                            pathname: '/Detail/permissionInfoChangeRecord',
                                            search: `id=${record?.id}`, // 携带在url地址后的数据,单一的字符串数据(非对象)
                                        },
                                        // 这边的record就是我们想传递的对象数据
                                        { tabRoute: true, tabRefresh: true, record }
                                    );
                                }}
                                icon='iconsystem_general_authority_view'
                                isButton
                            />

或者这样写:

							import { history, createSearchParams } from 'umi';
							// ...
							
                            <Icon
                                style={{ verticalAlign: 'middle' }}
                                size={16}
                                className={styles.actionIcon}
                                onClick={() => {
                                    history.push(
                                        {
                                            pathname: '/userManage/companyList/Detail/permissionInfoChangeRecord',
                                            // 这边的createSearchParams函数返回值可以实现传递对象数据
                                            search: createSearchParams({
                                                id: record?.id,
                                                tenantCode
                                            }).toString()
                                        },
                                        { tabRoute: true, tabRefresh: true }
                                    );
                                }}
                                icon='iconsystem_general_authority_view'
                                isButton
                            />

接受参数的组件

import { useLocation } from 'umi';
import queryString from 'query-string';

const location = useLocation();
const query = queryString.parse(location.search);
console.log('query, location===>', query, location);
回答: 根据引用\[1\]和引用\[2\]的描述,你遇到的问题是在运行项目时出现了模块构建失败的错误。具体错误信息是"Module build failed (from ./node_modules/@umijs/preset-dumi/lib/loader/index.js)"。这个错误通常是由于缺少依赖或配置问题导致的。你可以尝试以下解决方法: 1. 确保你的项目中已经安装了所有必要的依赖。可以通过运行"npm install"或"yarn install"来安装项目所需的依赖。 2. 检查你的项目配置文件,比如webpack配置文件或babel配置文件,确保配置正确并且没有错误。 3. 如果你使用的是Vue项目,可以尝试更新Vue-loader或babel-loader的版本,有时候旧版本的loader可能会导致构建失败的问题。 4. 如果你使用的是UMI框架,可以尝试更新@umijs/preset-dumi的版本,或者查看文档中是否有关于该错误的解决方法。 如果以上方法都没有解决你的问题,你可以尝试在开发者社区或者项目的GitHub页面上提问,寻求帮助。提供详细的错误信息和项目配置信息有助于其他人更好地理解和解决你的问题。 #### 引用[.reference_title] - *1* [vue项目报错:Module build failed (from ./node_modules/vue-loader/index.js)](https://blog.csdn.net/qq_40934617/article/details/121702439)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [vue项目运行出现:Module build failed (from ./node_modules/babel-loader/lib/index.js)](https://blog.csdn.net/dzdzdzd12347/article/details/124038656)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hzxOnlineOk

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值