html - document.getElementById("componentID").clientHeight 在 componentDidMount() 函数中总是给出零
问题描述
我想在页面完全加载后获取标题的高度。
我正在尝试通过调用将高度保存在 componentDidMount() 中
document.getElementById("Header").clientHeight
但它总是在 componentDidMount() 中返回 0。我也试着打电话
document.getElementById("Header").getClientRects()[0].height
但它也失败了,因为 .getClientRects() 返回空数组。这两种方法适用于 componentDidMount() 以外的任何其他函数
解决方案
您是否尝试将其包装在超时中?
componentDidMount() {
setTimeout(()=>{
document.getElementById("Header").clientHeight
},0)
}
推荐阅读
- scala - Scala Try[Unit] 混淆
- angular - 来自静态页面/ URL的角度路由
- apache-spark - Spark 结构化流式处理指标 UI 仪表板
- sql - 如何使用 PostgreSQL 计算分层定价
- python - 忽略 flake8 检查带有反斜杠的代码
- python - python异步发布请求
- java - 为什么 JavaFX 图像不直接从 FileInputStream 读取文件本身?
- macos - 如果我使用 npm 启动它,如何杀死 webpack 服务?(ps aux | grep webpack 每次都不一样)
- ruby - Ruby 继续递归
- ecmascript-6 - 将值与两个 javascript 对象进行比较的最佳方法