React | React.cloneElement 的使用

devtools/2024/10/18 16:38:44/

我看到同事的代码里有 cloneElement,于是去了解了一下这个函数。

就跟它的名字一样,克隆元素,可以基于一个元素创建一个新的元素,并且为新元素添加新的属性或者覆盖已有的属性。

下面是一个简单例子:

.node1 {background-color: orange;width: fit-content;
}.node2 {background-color: red;width: fit-content;
}
typescript">import React from 'react';
import styles from './index.less';const CloneElement = () => {const node1 = <div className={styles.node1}>node</div>;// 修改className,添加onClickconst node2 = React.cloneElement(node1, {className: styles.node2,onClick: () => {console.log('点击node2');},});return (<div>{node1}{node2}</div>);
};export default CloneElement;

效果:
在这里插入图片描述

node2 克隆自 node1,并且 node2 覆盖了 node1className 属性,还添加了一个 onClick 方法。

不得不说还是挺好用的,但是官方认为使用 cloneElement 是不常见的做法,并且可能导致代码变得脆弱,建议我们使用传值的方式:

cloneElement 官方文档

总结就是,我们要知道这个函数的作用是什么,但使用的时候要慎重。


http://www.ppmy.cn/devtools/27664.html

相关文章

基于Python的在线学习与推荐系统设计与实现(论文+源码)-kaic

题目&#xff1a;在线学习与推荐系统设计与实现 摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本在线学习与推荐系统就是在这样的大环境下诞生&#xff0…

【会员单位】浙江晧月水务科技有限公司

中华环保联合会理事单位 水环境治理专业委员会副主任委员单位 公司成立于2018年3月14日&#xff0c;是专业研究废水处理业务的国家高新技术企业。 公司自主研发的脱硫废水“零排放”的技术&#xff0c;不仅适应性好&#xff0c;技术先进&#xff0c;智慧化程度高&#xff0c…

使用量排名前50的GPTs趋势和特征

Chatgpt的gpt商店已经有几千gpts了。目前哪些gpts比较受欢迎呢&#xff1f;有哪些趋势和投资呢? 根据whatplugin.ai&#xff08;截止日期为2024年3月&#xff09;&#xff0c;使用量最多的50个gpts数据分析结果如下&#xff1a; GPTs类型的分布情况如下&#xff1a; 图像生成…

OceanBase 分布式数据库【信创/国产化】- OceanBase 集群介绍

本心、输入输出、结果 文章目录 OceanBase 分布式数据库【信创/国产化】- OceanBase 集群介绍前言OceanBase 数据更新架构OceanBase 集群介绍OceanBase 分布式数据库【信创/国产化】- OceanBase 集群介绍 编辑 | 简简单单 Online zuozuo 地址 | https://blog.csdn.net/qq_15071…

一文解决ArcGIS生成点和管段 含案例讲解

背景 在工作中&#xff0c;我们经常遇到要将坐标数据导入 GIS&#xff0c;生成点位&#xff0c;若是地理坐标系&#xff08;经纬度&#xff09;&#xff0c;那么直接用 arcgis或者QGIS 导入数据就行了&#xff0c;可实际中总会遇到各种问题&#xff1a; 坐标数据集为大地 200…

【ARMv9 DSU-120 系列 8 -- L3 Cache 详细介绍】

请阅读【Arm DynamIQ™ Shared Unit-120 专栏 】 文章目录 L3 Cache In DSU-120L3 cache allocation policyCache WaysL3缓存分区和带宽分区L3 cache partitioningBandwidth partitioningCache stashingL3 Cache In DSU-120

python - 3D图表绘制

Pyecharts 和 3D 图表绘制 Pyecharts 是一个用于生成各种图表的 Python 库&#xff0c;它基于 Echarts&#xff0c;支持大量的图表类型&#xff0c;非常适合用于数据分析和可视化。Pyecharts 主要优点是易于使用&#xff0c;可以直接在 Python 环境中绘制富有交互性的图表&…

debian下使用的常用软件

debian下使用的软件与windows下有所不同&#xff0c;刚使用debian系统&#xff0c;需要对不同的软件进行试用&#xff0c;以期找到更符合自己要求的软件&#xff0c;现在试用情况记录在此&#xff0c;以便后期回顾。 文件管理器&#xff08;Thunar&#xff09; 网络浏览器&am…