我在開發(fā)一個React application。當我在componentDidMount下使用findDOMNode獲取某個對象的offsetHeight屬性時,總是得不到它實際的值。后來發(fā)現(xiàn)是因為在此時該DOM還沒有渲染完成,在外面包覆一層window.onload就可以了。可是componentDidMount方法在執(zhí)行時,DOM不是已經(jīng)渲染完成了嗎?那么為什么會出現(xiàn)這種情況呢?下面放一小段代碼: componentDidMount() { // let _this = this;
// window.onload = function(){
let imgFigureDOM = findDOMNode(_this.refs.imgFigure0),
imgW = imgFigureDOM.scrollWidth,
imgH = imgFigureDOM.scrollHeight; // }
}可以得到DOM元素正確的scrollWidth,然而scrollHeight返回的值卻是還沒有加載完成的一個、不等于DOM實際高度的數(shù)值。
為什么在react的componentDidMount方法執(zhí)行時,獲取不到DOM被渲染完成的屬性?
搖曳的薔薇
2018-08-09 11:10:02