当前位置: 首页 > news >正文

react中使用ref属性获取元素,并判断该元素内是否含有子元素

在react中,可以使用ref属性来获取到一个元素的引用,然后再使用ref.current来访问该元素的DOM节点,使用DOM API来判断这个元素是否含有子元素,要判断一个元素是否含有子元素,可以使用hasChildNodes(),其返回值为Boolean,下面分别使用类组件与函数组件来实现。

类组件实现代码

import React, { Component, createRef } from 'react'export default class App extends Component {constructor(props){super(props)this.divRef = createRef()}componentDidMount(){if (this.divRef.current) {if (this.divRef.current.hasChildNodes()) {console.log('该元素含有子元素');}else{console.log('该元素不含子元素');}}}render() {return (<div><div ref={this.divRef}><button>子元素</button></div></div>)}
}

函数组件实现代码

import React, {useRef, useEffect} from 'react'export default function App() {const divRef = useRef(null)useEffect(() => {if (divRef.current) {if (divRef.current.hasChildNodes()) {console.log('该元素含有子元素')} else {console.log('该元素不含子元素')}}})return (<div><div ref={divRef}><button>子元素</button></div></div>)
}

以上就是实现代码,下一篇将在此基础上实现移除子元素。

http://www.lryc.cn/news/269107.html

相关文章:

  • idea 如何快速拉取新分支
  • 【经验分享】日常开发中的故障排查经验分享(一)
  • 关于Unity使用图片字体示例
  • 开源大语言模型简记
  • python高级代码
  • 透彻掌握GIT基础使用
  • 二、类与对象(三)
  • CentOS 7 Tomcat服务的安装
  • 文件夹共享功能的配置 以及Windows server2012防火墙的配置
  • 前端使用高德api的AMap.Autocomplete无效,使用AMap.Autocomplete报错
  • 反转链表、链表的中间结点、合并两个有序链表(leetcode 一题多解)
  • 深度学习中的Dropout
  • MySQL 中的 ibdata1 文件过大如何处理?
  • Weblogic反序列化远程命令执行(CVE-2019-2725)
  • 鸿蒙组件数据传递:ui传递、@prop、@link
  • ubuntu 开机自报IP地址(用于无屏幕小车-远程连接)
  • Angular——:host 和::deep
  • 键盘字符(#键)显示错误
  • geemap学习笔记037:分析地理空间数据--坐标格网和渔网
  • Bluetooth Mesh 入门学习干货,参考Nordic资料(更新中)
  • 磁盘管理 :逻辑卷、磁盘配额
  • GitHub教程-自定义个人页制作
  • Frappe Charts:数据可视化的强大工具
  • 【Vulnhub 靶场】【Hms?: 1】【简单】【20210728】
  • 浅谈C4模型
  • SeaTunnel流处理同步MySQL数据至ClickHouse
  • Arduino stm32 USB CDC虚拟串口使用示例
  • Java开发框架和中间件面试题(4)
  • 【腾讯云中间件】2023年热门文章集锦
  • SpringBoot 实现订单30分钟自动取消的策略