实时调整浏览器大小时,我需要获取浏览器的宽度。到目前为止,我已经找到了给出宽度的解决方案,但是它不是实时的。该值仅在刷新网页后才更新。调整浏览器大小时如何获取值。
我的方法
render() {
var windowWidth = window.innerWidth;
return (
<div className="body_clr">
{windowWidth}
</div>
)
}
如果我刷新页面,则此解决方案有效。但是我想在调整大小时获得宽度,因为我必须以特定的屏幕尺寸执行功能。
答案 0 :(得分:2)
答案 1 :(得分:2)
这是一种实现方法:
import React from "react";
import ReactDOM from "react-dom";
class App extends React.Component {
constructor() {
super();
this.state = {
height: 0,
width: 0
};
window.addEventListener("resize", this.update);
}
componentDidMount() {
this.update();
}
update = () => {
this.setState({
height: window.innerHeight,
width: window.innerWidth
});
};
render() {
return (
<React.Fragment>
<p>height: {this.state.height}</p>
<p>width: {this.state.width}</p>
</React.Fragment>
);
}
}
const rootElement = document.getElementById("root");
ReactDOM.render(<App />, rootElement);
工作代码沙盒here。