原始写法

import React, { Component } from "react";//函数组件:::传递一个组件,返回一个新的组件,以with开头
const withLearnReact = (Comp) => {const NewComp = (props) => {//继承原有的所有属性return <Comp {...props} key2="新增的一个属性"></Comp>;};return NewComp;
};//class组件,重写生命周期
const withLifeCycle = (Comp) => {class NewComp extends Component {componentDidMount() {console.log("NewComp重写componentDidMount()生命周期");}render() {return <Comp {...this.props}></Comp>;}}return NewComp;
};class HOC extends Component {render() {return (<div><h1>高阶组件的用法</h1>这是入参:{this.props.key1} <br></br>这是高阶组件的值: {this.props.key2}</div>);}
}//export default withLearnReact(HOC);
//export default HOC;withLifeCycle
export default withLifeCycle(withLearnReact(HOC));

改写:

安装babel编译插件

npm config set registry https://registry.npm.taobao.orgsudo npm install --save-dev @babel/plugin-proposal-decorators

更改config-override.js配置代码为:

const { override, fixBabelImports, addBabelPlugins } = require("customize-cra");
module.exports = override(//antdfixBabelImports("import", {libraryName: "antd",libraryDirectory: "es",style: "css",}),//HOC 装饰器addBabelPlugins(["@babel/plugin-proposal-decorators",{legacy: true,},])
);

重启项目

npm run start

改写为:在HOC类上添加 @withLearnReact

import React, { Component } from "react";//函数组件:::传递一个组件,返回一个新的组件,以with开头
const withLearnReact = (Comp) => {const NewComp = (props) => {//继承原有的所有属性return <Comp {...props} key2="新增的一个属性"></Comp>;};return NewComp;
};//class组件,重写生命周期
const withLifeCycle = (Comp) => {class NewComp extends Component {componentDidMount() {console.log("NewComp重写componentDidMount()生命周期");}render() {return <Comp {...this.props}></Comp>;}}return NewComp;
};@withLearnReact
@withLifeCycle
class HOC extends Component {render() {return (<div><h1>高阶组件的用法</h1>这是入参:{this.props.key1} <br></br>这是高阶组件的值: {this.props.key2}</div>);}
}//export default withLearnReact(HOC);
//export default HOC;
//export default withLifeCycle(withLearnReact(HOC));//装饰器写法:在HOC类上添加 @withLearnReact
export default HOC;

React高阶组件HOC配置相关推荐

  1. [react] 高阶组件(HOC)有哪些优点和缺点?

    [react] 高阶组件(HOC)有哪些优点和缺点? HOC 优点 通过传递props去影响内层组件的状态,不直接改变内层组件的状态,降低了耦合度 缺点 组件多层嵌套, 增加复杂度与理解成本 ref隔 ...

  2. 「react进阶」一文吃透React高阶组件(HOC)

    一 前言 React高阶组件(HOC),对于很多react开发者来说并不陌生,它是灵活使用react组件的一种技巧,高阶组件本身不是组件,它是一个参数为组件,返回值也是一个组件的函数.高阶作用用于强化 ...

  3. react 高阶组件hoc使用

    react 高阶组件hoc使用 1. 为什么使用高阶组件 2. 具体使用 2.1原代码: 2.2 使用hoc封装后 1. 为什么使用高阶组件 高阶组件(HOC)是 React 中用于复用组件逻辑的一种 ...

  4. React 高阶组件HOC使用总结

    HOC(高阶组件) /*HOC(高阶组件): 接收一个组件,返回包装后的组件(增强组件)- 不是React API- 是一种设计模式,类似于装饰器模式- ≈ Mixin && > ...

  5. react 高阶组件HOC实现组件复用

    目录 一 使用步骤 二 显示鼠标坐标 三 鼠标随图片移动 四 设置displayName 五 传递props 高阶组件HOC: Higher-Order Component,是一个函数,接收要包装的组 ...

  6. React高阶组件(HOC)的写法归纳

    react高阶组件的写法总结 什么是高阶组件 高阶组件要解决什么问题 高阶组件的写法 什么是高阶组件 何为高阶组件(HOC),根据官方文档的解释:"高阶组件是react中复用组件逻辑的一项高 ...

  7. React 高阶组件HOC详解

    参考链接: https://juejin.cn/post/6844903815762673671 https://juejin.cn/post/6844904050236850184 前言 高阶组件与 ...

  8. 条件渲染之react高阶组件——HOC

    定义:它接受任何输入(多数时候是一个组件)并返回一个组件作为输出.返回的组件是输入组件的增强版本,并且可以在 JSX 中使用.不是react api而是一种设计模式. 作用:强化组件,复用逻辑,提升渲 ...

  9. React 高阶组件HOC、设置displayName、高阶组件传递props

    文章目录 1. 高阶组件 使用步骤 2. 高阶组件设置displayName 3.传递props 1. 高阶组件 目的:实现状态逻辑复用.实现功能增强.返回一个增强组件. 高阶组件(HOC,Highe ...

最新文章

  1. 三十六、请求分页管理方式
  2. 03系统多界面_领克03+冠军版定制版车联系统全网首测,性能+智能它都给你
  3. Exchange Server 2010 全新部署篇九:CASHUB中客户端访问功能配置篇
  4. XamarinSQLite教程创建数据库
  5. Linux期末复习编程题
  6. Ajax Extensions核心控件介绍
  7. python二叉树遍历例子_python数据结构之二叉树的遍历实例
  8. Win10电脑如何查看电脑配置
  9. ERP沙盘模拟实验报告
  10. 15.导入网表及status介绍[原创]
  11. excel复制后卡死的解决办法
  12. 奥克兰大学计算机it专业介绍,奥克兰大学IT硕士专业介绍
  13. 基于yolov5的目标检测和单目测距
  14. 06-谷粒商城项目 人人开源快速开发 renren-fast前后端联调 逆向工程搭建&使用
  15. 雷神加速器无限更新失败️️️
  16. 创建线程的三种方式、线程运行原理、常见方法、线程状态
  17. 装机大神:教你看明白cpu后边数字及字母的意思。
  18. selinux m4语言语法
  19. 基于GAN的图像配准汇总
  20. html5黄油,黄油的做法

热门文章

  1. 屏:框贴、0贴合、全贴合
  2. CentOS 7安装和简单配置ss5
  3. 【Axure RP9基础】Axure滑块开关效果详解
  4. 带你了解Java高级编程-----多线程
  5. ExtJs6 form回显combo下拉框的值方法
  6. [vijos1571] 笨笨的导弹攻击
  7. python 邮件发送学习
  8. 产品面试常见问题和解读(一)
  9. Andorid中修改密码
  10. 原生js链接转二维码