当前位置:首页 > React

react如何当前组件高度

2026-01-25 12:05:36React

获取 React 组件高度的常用方法

使用 useRefuseEffect 获取 DOM 元素高度 通过 useRef 创建引用,绑定到目标组件的 ref 属性上,在 useEffect 中通过 clientHeightoffsetHeight 获取高度。

react如何当前组件高度

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

function Component() {
  const ref = useRef(null);
  const [height, setHeight] = useState(0);

  useEffect(() => {
    if (ref.current) {
      setHeight(ref.current.clientHeight);
    }
  }, []);

  return (
    <div ref={ref}>
      当前组件高度:{height}px
    </div>
  );
}

监听窗口大小变化动态更新高度 结合 ResizeObserver 或窗口 resize 事件,实时更新高度值。

react如何当前组件高度

useEffect(() => {
  const handleResize = () => {
    if (ref.current) {
      setHeight(ref.current.offsetHeight);
    }
  };

  window.addEventListener('resize', handleResize);
  return () => window.removeEventListener('resize', handleResize);
}, []);

使用 getBoundingClientRect() 获取精确尺寸 此方法返回包含高度、宽度、位置等完整信息的对象。

useEffect(() => {
  if (ref.current) {
    const rect = ref.current.getBoundingClientRect();
    console.log('高度:', rect.height);
  }
}, []);

注意事项

  • clientHeight 包含内边距但不包含边框和外边距。
  • offsetHeight 包含内边距、边框和滚动条(如果有)。
  • 如果组件内容动态变化,需在依赖数组中添加相关状态以触发重新计算。

标签: 组件高度
分享给朋友:

相关文章

jquery 高度

jquery 高度

jQuery 获取和设置元素高度的方法 使用 jQuery 可以方便地获取或设置元素的高度。以下是几种常用的方法: 获取元素高度 使用 height() 方法可以获取匹配元素中第一个元素的计算高度(…

vue实现组件通信

vue实现组件通信

Vue 组件通信方法 Vue 提供了多种方式实现组件间的通信,适用于不同场景。以下是常见的方法: Props 和 Events 父组件通过 props 向子组件传递数据,子组件通过 $emit…

react如何删除组件

react如何删除组件

删除 React 组件的几种方法 条件渲染法 通过状态控制组件是否渲染。当状态为 false 时,组件会被移除: const [showComponent, setShowComponent] =…

jquery获取高度

jquery获取高度

jQuery获取元素高度的方法 使用jQuery可以方便地获取元素的高度,以下是几种常见的方法: 获取元素的实际高度(包括padding但不包括border和margin) var heigh…

vue实现search组件

vue实现search组件

Vue 实现搜索组件 基础实现 创建一个基础的搜索组件需要包含输入框和搜索逻辑。以下是一个简单的实现示例: <template> <div class="search-con…

vue 实现弹窗组件

vue 实现弹窗组件

Vue 弹窗组件实现 基础弹窗组件结构 创建一个名为Modal.vue的文件,定义弹窗的基础结构和样式: <template> <div class="modal-mask"…