位置: IT常识 - 正文

React 高阶组件(react高阶组件)

编辑:rootadmin
高阶组件(HOC) 高阶组件(Heigher Order Component)也被称之为高阶函数,容器组件,高阶组件是类组件编程中的一种重要代码逻辑复用技巧。 高阶组件的语法 接收一个React组件作为入参,经过修饰,最后返回一个新的React组件,所以这个入参的React组件被称之为“UI组件”; ... 高阶组件(HOC)

推荐整理分享React 高阶组件(react高阶组件),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:react 高阶组件相同逻辑复用,react 高阶组件hoc,react高阶组件,react 高阶组件应用场景,react 高阶组件hoc,react高阶组件和普通组件的区别,react高阶组件和普通组件的区别,react高阶组件,内容如对您有帮助,希望把文章链接给更多的朋友!

React 高阶组件(react高阶组件)

高阶组件(Heigher Order Component)也被称之为高阶函数,容器组件,高阶组件是类组件编程中的一种重要代码逻辑复用技巧。

高阶组件的语法

接收一个React组件作为入参,经过修饰,最后返回一个新的React组件,所以这个入参的React组件被称之为“UI组件”;这个高阶组件被称之为“容器组件”。注意:在高阶组件中无论怎么对UI组件进行修改都不能修改。所以高阶组件是一种纯函数。

什么是纯函数

入参不能被修改,并且相同入参返回的是相同结果的函数,都叫做纯函数。

解决高阶组件导致属性丢失

封装自定义高阶组件时,如果props属性丢失,可以使用属性穿透(属性继承)解决

如何使用高阶组件类组件可以使用Hoc(page)或者装饰器语法@page函数组件只能使用Hoc(page)组件和 高阶组件的区别组件和 高阶组件的区别组件是将props转换为UI高阶组件是将组件转换另一个组件高阶组件的使用场景在路由中withRounter(),在转台管理中content(),在Mobx中有inject()或者observer()使用高阶组件给页码添加公共的视图结构,比如水印等。使用高阶组件可以注入全局的公共方法,比如弹窗,校验等。使用高阶组件可以添加相同的业务功能,比如DOM功能,BON功能,订阅功能等。使用高阶组件可以实现权限设计。 import { PureComponent } from "react"; //高阶组件权限设计 function studay (WrappedComponent){ // return class extends PureComponent{ // render(){ // return( // <> // <nav>导航栏</nav> // <WrappedComponent {...this.props}></WrappedComponent> // <footer>底部导航栏</footer> // </> // ) // } // } return props =>( <> <nav>导航栏</nav> <WrappedComponent {...props}/> <footer>底部导航栏</footer> </> ) } // const page = (arr) =>{ console.log('权限',arr); //状态管理中的角色信息 const roles = ['user'] const flag = roles.some(ele=>arr.includes(ele)) return WrappedComponent =>{ return props =>( <> {flag ? <WrappedComponent {...props}></WrappedComponent>: <h1>你的权限不足</h1>} </> ) } } //封装浏览器窗口标题 const title = title =>{ return Men => class extends PureComponent{ componentDidMount(){ document.title = title || '沐沐5' } render(){ return( <Men {...this.props}></Men> ) } } } //只有在class上才能使用装饰器语法 @page(['admin',]) @studay class A extends PureComponent{ render(){ console.log(this.props); return ( <> <h1>高阶组件</h1> </> ) } } export default A
本文链接地址:https://www.jiuchutong.com/zhishi/311669.html 转载请保留说明!

上一篇:总结帝国cms安装在二级目录步骤(帝国cms下载)

下一篇:Java 中九种 Map 的遍历方式,你一般用的是哪种呢?(java中map.entry)

  • 全国税务师考试准考证打印
  • 中国注册税务师协会法律法规库
  • 个人劳务报酬所得税率表
  • 未支付的货款属于什么会计科目
  • 进口增值税的计税依据
  • 土地增值税预征率
  • 客户把发票弄丢了,红冲重新开了会有什么风险
  • 物业管理费什么时候交?
  • 增值税普票税额
  • 国税申报填错了怎么办
  • 金税盘的年费怎么做抵扣帐
  • 自产产品公益性捐赠可以免征增值税吗
  • 分公司的款汇入总公司得出什么证明
  • 个人出租房屋给公司可以开专票吗
  • 公司注销时债权人未申报债权
  • 所得税补税怎么申报
  • 推广费开票属于什么费用
  • 其他货币资金包括哪些内容
  • 业务招待费和福利费不能抵扣增值税吗
  • 主板BIOS无法更改显存
  • linux服务器常用命令
  • 其他货币资金属于资产类科目
  • 简单谈谈中国法律史的感受
  • 现金折扣税务处理shi
  • 业务招待费如何进行纳税调整
  • 股权转让怎么交印花税2019年最新
  • 如何分清福利性劳动
  • 社保代扣代缴会计分录怎么做
  • 资产类备抵科目借方是加还是减
  • vue的后端
  • 什么是社保差额
  • 深度学习大模型框架的简单介绍(ChatGPT背后原理的基本介绍)
  • ps怎么旋转某个图形快捷键
  • 交易性金融资产的入账价值
  • 社会团体收取的会费是否缴纳企业所得税
  • 应收账款抵借的例题
  • 以前年度损益调整是什么意思
  • 营业外支出会计科目
  • 公司收到银行存款利息回单的会计分录
  • java如何导出
  • mysql基本语法
  • 阿里云安装centos8
  • python创建ndarray
  • 异地预缴附加税会计分录
  • 用友t3制单日期定住不变
  • 计提坏账准备和确认坏账损失
  • 哪些属于费用发票类型
  • 关税完税价格计算增值税
  • 政府补助的分类包括
  • 外购商品职工福利进项税额转出如何记账?
  • 出口货物退免税的管理规定
  • 主营业务收入计入借方还是贷方
  • 开票收入摘要怎么写
  • 建筑行业的收入做什么科目
  • 公司购买的机票可以退吗
  • 房地产实收资本怎么算
  • 跨年做进项税额转出
  • 外贸企业有内销和外销是否分开做账
  • sql语句训练题及答案
  • 使用组策略可控制什么
  • centos 查看服务
  • win32k.sys是什么
  • mac os 删除
  • centos screen命令
  • win8搜索不到自己家的WiFi
  • win7共享文件夹设置访问权限
  • 史上最全的windows 10 激活码
  • perl语言基本命令
  • Node.js中的核心模块包括哪些内容?
  • 你应该知道的几个问题
  • 安装node-sass报错
  • android开发环境搭建实验报告总结
  • jquery中有几种方法可以来设置和获取样式
  • 胰腺在人体的哪个部位图解
  • 如何开具税收缴纳证明
  • 查账征收个人经营所得税怎么申报
  • 简述会计估计及其特点
  • 补缴印花税分录
  • 异地可以打印银行清单吗?
  • 湖北注册税务师协会
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设