获取ReactJS中的视口/窗口高度

如何在ReactJS中获取视口高度?在普通JavaScript中,我使用

window.innerHeight()

但是使用ReactJS,我不知道如何获取这些信息。我的理解是

ReactDOM.findDomNode()

仅适用于已创建的零部件。但是,对于文档主体元素,情况并非如此,这可能会给出窗口的高度

使用挂钩(React16.8.0+

创建一个useWindowDimensionshook

从“react”导入{useState,useffect};
函数getWindowDimensions(){
常量{innerWidth:width,innerHeight:height}=window;
返回{
宽度
身高
};
}
导出默认函数useWindowDimensions(){
const[windowDimensions,setWindowDimensions]=useState(getWindowDimensions());
使用效果(()=&gt{
函数handleResize(){
setWindowDimensions(getWindowDimensions());
}
window.addEventListener('resize',handleResize);
return()=>window.removeEventListener('resize',handleResize);
}, []);
返回窗口尺寸;
}

之后,您就可以在这样的组件中使用它了

常量组件=()=>{
const{height,width}=useWindowDimensions();
返回(
<div>
宽度:{width}~高度:{height}
</div>
);
}

工作示例

原始答案

在React中也是如此,您可以使用window.innerHeight获取当前视口的高度

正如你在这里看到的

发表评论