Ant Design Pro路由传值
2024-10-19 13:20:40
Ant Design Pro 路由传值
了解Ant Design Pro组件间通讯原理的小伙伴肯定都知道,两个页面之间可以通过Models进行传值,在以往的传值过程中,我都是直接将需要的值直接一股脑的传给两一个界面:
// 修改影像
handelUpdate = obj => {
const { dispatch } = this.props;
dispatch({
type: 'video/editDetail',
payload: {
id: obj.id,
title: obj.title,
des: obj.des,
image: obj.image,
video: obj.video,
attachment: obj.attachment,
},
});
};
这是数据展示列表点击查看某一项详情时所作的操作,可以看到,当数据流非常庞大时,这种写法可以说非常小白了。缺点是需要当前页面存储了这么多值,才能直接传到另一个界面,然而展示的时候可能不会需要这么多值,这就造成了内存的浪费,性能就会降低。
后来接触了另一种方法:通过路由传当前项的id,在详情页面调用查看详情的接口,虽然这样需要后端多写一个接口,但性能会提升许多。
1、先配置路由:
{
path: '/cinema/arrangeMovieManagement/arrangeDetail/:arrangeId',
name: 'arrangeDetail',
component: './cinema/ArrangeMovieManagement/ArrangeDetail',
hideInMenu: true,
},
可以看到,在路由后面我加上了arrangeId
。
2、路由传值
viewDetail = obj => {
this.props.dispatch(
routerRedux.push({
pathname: `/cinema/arrangeMovieManagement/arrangeDetail/${obj.arrangeId}`,
})
);
};
这里直接将选中的ID传给路由
3、详情页面数据加载
componentDidMount() {
const {
dispatch,
match: {
params: { arrangeId },
},
} = this.props;
dispatch({
type: 'arrangeMovie/apiArrangeMovieDetail',
payload: { arrangeId },
});
}
可以看到,在该页面的componentDidMount的时候调用一下接口,用
match: {
params: { arrangeId },
},
的方法取出路由中的参数,然后调用一下接口即可。
最新文章
- 用JavaScript调用WCF Service
- Asp.net Mvc Entity Framework Code First 数据库迁移
- ssi项目(1)环境搭建
- 帕雷托最优(Pareto optimality)、帕雷托效率(Pareto efficiency)
- 基于淘宝开源Tair分布式KV存储引擎的整合部署
- 将java的class文件放到一个指定文件夹下
- C# 从数据库中删除,插入,修改 索引选中条目
- HDU 1869 六度分离【floyd】
- WIN32不得不会:视频播放器
- sql脚本的格式
- SQL Server索引进阶:第五级,包含列
- 怎样成为一个游戏制作人——第五章:使用GGE图形库来写游戏
- 基于Spring DM管理的Bundle获取Spring上下文对象及指定Bean对象
- React 读书笔记
- .net 添加api不能访问的问题
- centos 安装解压工作
- python 全栈开发,Day64(视图,触发器,函数,存储过程,事务)
- github上删除一个项目或者reposity
- Nodejs this详解
- bzoj千题计划205:bzoj3529: [Sdoi2014]数表
热门文章
- Uniapp使用iconfont
- SuperSocket通过 SessionID 获取 Session
- 谷歌浏览器中kindeditor编译器字体不能为微软雅黑的问题?
- TensorFlow指定使用GPU 多块gpu
- HDU 5971";Wrestling Match";(二分图染色)
- [转]Redis和Memcache区别,优缺点对比
- 人脸检测MTCNN的训练过程(PRO网络)
- CF161BDiscounts
- SpringSecurity 自定义用户 角色 资源权限控制
- vue-learning:20 - js - 区别:filters / data / computed / watch / methods