首页 > 解决方案 > document.getElementById("componentID").clientHeight 在 componentDidMount() 函数中总是给出零

问题描述

我想在页面完全加载后获取标题的高度。

我正在尝试通过调用将高度保存在 componentDidMount() 中

document.getElementById("Header").clientHeight

但它总是在 componentDidMount() 中返回 0。我也试着打电话

document.getElementById("Header").getClientRects()[0].height

但它也失败了,因为 .getClientRects() 返回空数组。这两种方法适用于 componentDidMount() 以外的任何其他函数

标签: htmlreactjsreact-nativejsx

解决方案


您是否尝试将其包装在超时中?

componentDidMount() {
  setTimeout(()=>{
     document.getElementById("Header").clientHeight
   },0)
}

推荐阅读