有什么方法可以获取包装组件的 DOM 高度?
我尝试添加一个 ref 但控制台错误我Function components cannot be given refs.
我设置了forward ref,但似乎并非如此。
export default function withInfiniteScroll(Component) {
return class extends React.Component {
componentDidMount() {
window.addEventListener('scroll', this.onScroll, true);
}
onScroll = () => {
// here
console.log(
'window.innerHeight', window.innerHeight,
'\ndocument.body.offsetHeight', document.body.offsetHeight,
);
}
render() {
return <Component {...this.props} />;
}
};
}
我想记录 的高度Component
,但是这些日志没有意义,它们是 html-body 的高度而不是Component
's。
window.innerHeight 767
document.body.offsetHeight 767
但是当我在 chrome 控制台中时:
console.log(document.getElementsByClassName('home-container')[0].clientHeight)
> 1484
这'home-container'
是一个包装的组件:
withInfiniteScroll(HomeContainer);