位置: IT常识 - 正文

react @connect的作用简单理解(dva @connect)(react connect用法)

编辑:rootadmin
react @connect的作用简单理解(dva @connect) 一、前言

推荐整理分享react @connect的作用简单理解(dva @connect)(react connect用法),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:react connect方法,react connect原理,react usecontent,react connect原理,react-rewired,react中connect的作用,react connect用法,react connect原理,内容如对您有帮助,希望把文章链接给更多的朋友!

最近在自学react,发现项目中用到了@connect这个方法,但是不知道是什么意思;

网上百度,发现有这样解释的:

connect的作用是将组件和models结合在一起。将models中的state绑定到组件的props中。并提供一些额外的功能,譬如dispatch

还有这样解释的:

connect用来链接组件和状态管理器。你可以通过dispath调用对应仓库中的方法,也可以通过在this.props下找到仓库的数据进行操作。

还有这样的:

connect 方法返回的也是一个 React 组件,通常称为容器组件。因为它是原始 UI 组件的容器,即在外面包了一层 State。connect 方法传入的第一个参数是 mapStateToProps 函数,mapStateToProps 函数会返回一个对象,用于建立 State 到 Props 的映射关系。

这种东西初学者看了也不明白是什么意思,感觉不够通俗易懂。(反正本人是没看懂)

后来,终于自己琢磨明白了,在此总结下。

二、@connect的作用个人理解

1.首先,是react项目里用到了@connect注解,点击这个注解进入源码,发现路径是node_modules\dva\index.d.ts,因此也可以说是dva中的@connect。

react @connect的作用简单理解(dva @connect)(react connect用法)

2.本人的项目中,是这样使用的:

@connect(({ loading, OnlineTrainSet, codeselect }) => ({ OnlineTrainSet, codeselect, loading: loading.models.OnlineTrainSet,}))

(1)@connect的意思是,将models中的状态(state)装到组件的props里。

(2)具体到这里,就是会把OnlineTrainSet,codeselect,loading装入this.props里面,后续使用this.props.OnlineTrainSet,this.props.codeselect,this.props.loading就可以使用了。

(3)OnlineTrainSet,是本人的项目中有一个文件项目名\src\pages\MyOnlineTrainSet\models\OnlineTrainSet.js ,内容有:

export default { namespace: 'OnlineTrainSet', state: { currView: 'home', currData: {},......

注意,这个文件里namespace: 'OnlineTrainSet',上方@connect里用OnlineTrainSet就可以装入了; state,就是装入this.props里的内容;

这个文件的位置在models文件夹里,所以能用@connect装入;

使用了@connect后,后续页面就可以使用this.props.OnlineTrainSet.currView、获取到的值就是home。

(4)codeselect,这个也类似,只不过是位于本人的项目中的项目名\src\models\codeselect.js(也是自己写的js,注意位置是另一个models文件夹,总之也可以),其中也用到了namespace: 'codeselect'与state,所以也可以用@connect装入。

(5)loading,这个搜索namespace: 'loading'没有找到,应该是框架里实现的,也类似; 这里是把loading.models.OnlineTrainSet装入了this.props里面; 获取时,使用this.props.loading,取到的值就是loading.models.OnlineTrainSet的值; loading.models里,有各个文件的加载情况,如果正在加载中、就是true,如果不是、就是false; 所以,当this.props.loading为true时,就说明OnlineTrainSet.js文件正在加载中;(当this.props.loading为false时,就说明OnlineTrainSet.js文件加载完了;如果为null,就说明没有值、没有加载这个文件)

3.后续代码中,是这样使用的:

const { OnlineTrainSet } = this.props;//和这个一样//const OnlineTrainSet = this.props.OnlineTrainSet;console.log(OnlineTrainSet.treeData);

这个的意思是,

本文链接地址:https://www.jiuchutong.com/zhishi/290827.html 转载请保留说明!

上一篇:费尔南迪纳岛海岸的加拉帕戈斯海狮,厄瓜多尔科隆群岛 (© Tui De Roy/Minden Pictures)(费尔南迪纳岛气候类型)

下一篇:被阿尔卑斯山环抱的辛特湖,德国贝希特斯加登 (© Offset by Shutterstock)(阿尔卑斯山环保)

  • 城镇土地使用税纳税
  • 公司从业人员包括老板吗
  • 预交增值税附税税率
  • 影响年度损益的金额有哪些
  • 合伙企业借款利息收入个税
  • 电商存货周转率的正常范围
  • 股东在两个公司上班好吗
  • 个人到税务局开发票要带什么东西
  • 支付个人无发票怎么入账
  • 物业用房的装修费可以在土地增值税清算时扣除吗
  • 别人送我免费赠品
  • 什么费用可以列支拆迁补偿费
  • 包装报废会计处理
  • 客户把发票弄丢了,红冲重新开了会有什么风险
  • etc预付卡发票能不能报销
  • 小规模纳税人按什么标准纳税
  • 保险公司联合举办活动
  • 销售费用中的运输费属于什么科目
  • 建材销售公司需要交哪些税
  • 没有税率的发票怎么开
  • 个人所得税哪些可以专项扣除
  • 映泰主板系统重装
  • win11windows安全中心打不开
  • 现金比率分析怎么分析
  • 常见的无线网络技术有
  • 差额征收单位所需材料
  • 企业以租代购的利弊分析
  • 按揭贷款到账时间
  • 纳税人解除劳动合同证明
  • 实收资本和注册资本不一致的会计处理
  • 分页page
  • 国有企业收到财政补助如何做账
  • thinkphp3.x中display方法及show方法的用法实例
  • 行政事业单位怎么开发票
  • 个人开发app最简单方法
  • php 时间
  • 服务费发票怎么入账
  • 记录一次游戏
  • 谷歌研究院
  • 离线开票限额怎么办
  • 小规模纳税人进项税额怎么处理
  • 申报个税是不是就必须交社保
  • 为SQLite3提供一个ANSI到UTF8的互转函数
  • 自然人代开经营所得汇算清缴怎么做
  • 上月结余金额是什么的
  • 股份有限公司个人股份
  • 阶段性减免企业社保费实施政策对象
  • 企业现金购货限额
  • 养老保险如何记算
  • 专票已认证但又不能抵扣
  • 赠送礼品怎么入账
  • 购买东西进项税额怎么算
  • 小规模取得增值税专用发票怎么做账
  • 坏账准备的会计分录例题
  • 中标单位支付代理费
  • 新担保法2021和担保期限
  • sqlserver获取数据库名
  • macbook如何恢复出厂
  • 在bois如何设置C盘启动
  • 永恒之塔改注册表什么意思
  • linux挂起
  • linux 常用命令大全及其详解
  • win7桌面图标全部变成了e而且打不开
  • 淘宝下载电脑
  • win8系统没有声音怎么办
  • jquery window
  • android基础入门教程
  • 表示网页行为的是
  • bat读取文件内所有内容
  • 使用的英文
  • nodejs发送post请求
  • vue-cli作用
  • jQuery autoComplete插件两种使用方式及动态改变参数值的方法详解
  • JavaScript jquery及AJAX小结
  • jquery.ztree中文api
  • unity3d ik
  • python设计内容
  • 百旺税控盘电话服务热线
  • 职工疗养费可以税前扣除吗
  • 房没交契税和物业维修金房屋预告登记证明可以打印吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设