react   hook   可以使用useRef ()来获取到动态dom 的高度

1.先引入hook useRef 方法

import React, {useRef, useEffect } from 'react'

2.在dom上绑定这个方法

    function MyModel(){
        const listHeight=useRef()

        useEffect(() => {
       console.log(listHeight.current.clientHeight)
        }, []);

          return(
                <>
                      <ul className='list-type' ref={listHeight}>
                           <li>1</li>
                           <li>2</li>
                      </ul>
                </>)
}

这样不管ul 是循环动态高度还是固定写死的高度 都可以直接获取到了。

当 ref 对象内容发生变化时,useRef 并不会通知你。变更 .current 属性不会引发组件重新渲染。如果想要在 React 绑定或解绑 DOM 节点的 ref 时运行某些代码,则需要使用回调 ref 来实现。

Logo

基于 Vue 的企业级 UI 组件库和中后台系统解决方案,为数万开发者服务。

更多推荐