位置: 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)

  • 闲鱼可以隐藏会员名吗(闲鱼隐藏会员名怎么查看)

    闲鱼可以隐藏会员名吗(闲鱼隐藏会员名怎么查看)

  • win10蓝屏0xc0000001(win10蓝屏0xc0000001如何重装系统)

    win10蓝屏0xc0000001(win10蓝屏0xc0000001如何重装系统)

  • 家里网突然断了什么原因(家里网突然断了,但是猫是正常亮的)

    家里网突然断了什么原因(家里网突然断了,但是猫是正常亮的)

  • 数据线发黄是什么原因(数据线变黄怎么办怎么回事?)

    数据线发黄是什么原因(数据线变黄怎么办怎么回事?)

  • pr导出视频和音频为什么分开了(pr导出视频和音频)

    pr导出视频和音频为什么分开了(pr导出视频和音频)

  • 华为p30遥控器功能在哪(华为p30遥控器功能不见了)

    华为p30遥控器功能在哪(华为p30遥控器功能不见了)

  • 后台app刷新什么意思

    后台app刷新什么意思

  • qq和微信可以同时打电话吗(qq和微信同一个账号能同步吗)

    qq和微信可以同时打电话吗(qq和微信同一个账号能同步吗)

  • r17屏幕多大尺寸(oppor17屏幕多大尺寸)

    r17屏幕多大尺寸(oppor17屏幕多大尺寸)

  • qq音乐包和绿钻豪华版的区别(qq音乐包和绿钻豪华版哪个好)

    qq音乐包和绿钻豪华版的区别(qq音乐包和绿钻豪华版哪个好)

  • coloros7什么时候出(oppocolors7什么时候更新)

    coloros7什么时候出(oppocolors7什么时候更新)

  • 发出去的红包对方没领怎么收回来(发出去的红包对方领了还能要回吗?)

    发出去的红包对方没领怎么收回来(发出去的红包对方领了还能要回吗?)

  • 微信h5页面是什么(微信h5页面开发教程)

    微信h5页面是什么(微信h5页面开发教程)

  • 小米手环3心率检测准吗(小米手环3心率测不了)

    小米手环3心率检测准吗(小米手环3心率测不了)

  • pch限制什么意思(pch限制怎么调高)

    pch限制什么意思(pch限制怎么调高)

  • 快手收藏别人能看到吗(快手收藏别人的作品会被发现吗)

    快手收藏别人能看到吗(快手收藏别人的作品会被发现吗)

  • chn-unicom是什么网络制式(chnunicom是什么意思)

    chn-unicom是什么网络制式(chnunicom是什么意思)

  • 恩科蓝牙耳机怎么只有一个有声音(恩科蓝牙耳机怎么配对双耳)

    恩科蓝牙耳机怎么只有一个有声音(恩科蓝牙耳机怎么配对双耳)

  • 华为三环什么意思(华为运动3环代表什么)

    华为三环什么意思(华为运动3环代表什么)

  • 华为p30怎么用两个微信(华为p30怎么两个应用一起看视频)

    华为p30怎么用两个微信(华为p30怎么两个应用一起看视频)

  • 手机如何找回wifi密码(手机如何找回wifi名称)

    手机如何找回wifi密码(手机如何找回wifi名称)

  • 手机qq群文件怎么上传(手机qq群文件怎么转移到文件夹)

    手机qq群文件怎么上传(手机qq群文件怎么转移到文件夹)

  • 京东退货自提点在哪里(京东退货自提点本区域没有怎么办)

    京东退货自提点在哪里(京东退货自提点本区域没有怎么办)

  • word简历模板在哪(word简历模板在哪里免费)

    word简历模板在哪(word简历模板在哪里免费)

  • 拼多多到货了怎么通知(拼多多到货了怎么退货退款申请)

    拼多多到货了怎么通知(拼多多到货了怎么退货退款申请)

  • 移动电话怎么呼叫转移(移动电话怎么呼叫转移到联通)

    移动电话怎么呼叫转移(移动电话怎么呼叫转移到联通)

  • Win11打开Filmora闪退怎么办? Win11万兴神剪手不能使用的解决办法(win11闪屏问题)

    Win11打开Filmora闪退怎么办? Win11万兴神剪手不能使用的解决办法(win11闪屏问题)

  • ie浏览器不稳定怎么办?(xbox无法连接无线网络)

    ie浏览器不稳定怎么办?(xbox无法连接无线网络)

  • 网络课程购买
  • 红冲以前年度收入成本的账务处理
  • 盈利幼儿园和非盈利幼儿园的政策
  • 通行费发票抵扣要勾选认证吗
  • 应收账款的损失率怎么算
  • 欠员工薪酬如何赔偿
  • 发票作废进项税额转出怎么做账
  • 老师课时费计入什么科目
  • 商场积分兑换现金怎么用
  • 转让专利技术使用权属于销售无形资产吗
  • 设备服务费是什么
  • 内账价税分离余额怎么处理
  • 纳税人税号后面的数字
  • 公司员工出差补贴与差旅费报销制度
  • 月底结账哪些科目有余额
  • 车辆购置税能抵扣税款吗
  • 质保金付款时怎么付
  • 公司需要给员工提供的帮助
  • 企业所得税汇算清缴表
  • 怎么获得最新医学类指南
  • 华为鸿蒙系统开发平台
  • 应收账款和预收账款的关系
  • 评估报告怎么算合法
  • linux用途是什么
  • win7为什么还有人用
  • 银行拒付汇票金额的救济方法
  • scm wms
  • PHP:pg_send_execute()的用法_PostgreSQL函数
  • 增值税纳税申报首先要稽核比对
  • 什么情况下专硕可以调剂学硕
  • 销售使用过的机器设备如何缴纳增值税
  • 延期收款利息如何缴税
  • 应收账款账务处理及案例分析
  • vue qrcode生成二维码
  • 如何在wordpress嵌入amazon链接
  • 物业公司的会计科目有哪些
  • 生育保险断缴后果
  • php底部导航代码
  • 入伙和退伙的法律效力
  • sql server 2005怎么用
  • mysql创建临时表并赋值
  • 收回应收账款赊账怎么算
  • 租赁房屋怎么做账
  • 车间装修预算表
  • 股东打给公司的投资款
  • 电梯折旧率多少
  • 销售货款是什么
  • 企业分配利润的原因
  • 报表与账不符情况说明
  • 财政补助结转结转的依据
  • 企业所得税汇算表
  • 养猪场财务账目怎么做
  • 实缴资本和注册资本的比例
  • 固定资产盘亏计入固定资产清理吗
  • 会计凭证的主要种类
  • 旅游饮食服务企业会计核算的特点包括
  • sql Set IDENTITY_INSERT的用法
  • sqlserver日志恢复数据
  • mysql运行代码
  • 磁盘清理后文件还在吗?
  • win7桌面库图标怎么删除
  • ubuntu怎么修改网络配置
  • mac显示器颜色不一致
  • ahci提升有多大
  • icloud怎么加密码
  • win7系统怎么禁用数字签名
  • centos7误删除怎么恢复
  • window8系统好用吗
  • cocos2dx视频教程
  • cmd nul
  • javascript判断题
  • sdk和安卓版本
  • jquerydom操作
  • 使用权资产
  • android数据存储与访问的方式有
  • 增值税普通发票可以抵扣吗
  • 福建电子发票开票流程?
  • 浙江省医保改革方案2022
  • 农业企业制造费用包括哪些
  • 苏宁易购股份转增股本
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设