当前位置:首页 > 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 包含内边距、边框和滚动条(如果有)。
  • 如果组件内容动态变化,需在依赖数组中添加相关状态以触发重新计算。

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

相关文章

react如何开发组件

react如何开发组件

React 组件开发基础 React 组件分为函数组件和类组件两种形式。函数组件是现代 React 开发的主流方式,结合 Hooks 可以实现完整功能。 函数组件示例: function Gree…

vue实现秒表组件

vue实现秒表组件

实现秒表组件的基本思路 使用Vue实现秒表组件需要管理时间状态、控制计时器的启动/暂停/重置功能,并通过计算属性动态显示格式化时间。核心逻辑包括利用setInterval更新计时数据,并通过生命周期钩…

react如何刷新组件

react如何刷新组件

刷新 React 组件的常见方法 使用状态更新触发重新渲染 通过修改组件的状态(state),React 会自动触发重新渲染。例如: const [count, setCount] = useSta…

vue 实现table组件

vue 实现table组件

Vue 实现 Table 组件 基础表格结构 使用 Vue 的模板语法构建表格的基本框架,通过 v-for 动态渲染数据。 <template> <table>…

vue布局组件实现

vue布局组件实现

Vue 布局组件实现方法 基础布局组件设计 使用 Vue 的单文件组件(SFC)创建一个基础的布局组件框架,通常包含<header>、<main>、<footer>…

vue实现组件轮播

vue实现组件轮播

使用Vue实现组件轮播 方法1:使用第三方库(如Swiper) 安装Swiper库: npm install swiper vue-awesome-swiper 在Vue组件中使用:…