我在开发一个React application。
当我在componentDidMount下使用findDOMNode获取某个对象的offsetHeight属性时,总是得不到它实际的值。
后来发现是因为在此时该DOM还没有渲染完成,在外面包覆一层window.onload就可以了。
可是componentDidMount方法在执行时,DOM不是已经渲染完成了吗?那么为什么会出现这种情况呢?
下面放一小段代码:
componentDidMount() { // let _this = this; // window.onload = function(){ let imgFigureDOM = findDOMNode(_this.refs.imgFigure0), imgW = imgFigureDOM.scrollWidth, imgH = imgFigureDOM.scrollHeight; // } }
可以得到DOM元素正确的scrollWidth,然而scrollHeight返回的值却是还没有加载完成的一个、不等于DOM实际高度的数值。
相关分类