react中使用ref属性获取元素,并判断该元素内是否含有子元素
2023-12-14 05:22:25
在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>
)
}
以上就是实现代码,下一篇将在此基础上实现移除子元素。
文章来源:https://blog.csdn.net/qq_45290368/article/details/134980850
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!