Reactjs 反应不';更新状态变化?
我正在尝试使用react做一件非常简单的事情,即显示当前浏览器的宽度。它在加载页面时工作正常,但由于某些原因,它在调整大小时不会更新,即使我似乎在更新状态。。。帮忙Reactjs 反应不';更新状态变化?,reactjs,Reactjs,我正在尝试使用react做一件非常简单的事情,即显示当前浏览器的宽度。它在加载页面时工作正常,但由于某些原因,它在调整大小时不会更新,即使我似乎在更新状态。。。帮忙 从“React”导入React; 类SmartBr扩展了React.Component{ 构造函数(){ 超级(); 此.state={ 窗宽: 窗口宽度|| document.documentElement.clientWidth|| document.body.clientWidth, 窗高: 窗内高度|| document.
从“React”导入React;
类SmartBr扩展了React.Component{
构造函数(){
超级();
此.state={
窗宽:
窗口宽度||
document.documentElement.clientWidth||
document.body.clientWidth,
窗高:
窗内高度||
document.documentElement.clientHeight||
document.body.clientHeight
};
}
更新维度(){
this.setState={
窗宽:
窗口宽度||
document.documentElement.clientWidth||
document.body.clientWidth,
窗高:
窗内高度||
document.documentElement.clientHeight||
document.body.clientHeight
};
}
/**
*添加事件侦听器
*/
componentDidMount(){
这个.updateDimensions();
window.addEventListener(“resize”,this.updateDimensions.bind(this));
}
/**
*删除事件侦听器
*/
组件将卸载(){
removeEventListener(“resize”,this.updateDimensions.bind(this));
}
render(){
返回{this.state.WindowWidth};
}
}
导出默认的SmartBr构造函数外部的code>是您调用的函数,而不是为其设置的对象,因此您需要更改updateDimensions
函数以调用该方法,而不是像现在这样分配对象:)
冰说了什么。setState是一个函数而不是一个对象。
updateDimensions() {
this.setState({
WindowWidth:
window.innerWidth ||
document.documentElement.clientWidth ||
document.body.clientWidth,
WindowHeight:
window.innerHeight ||
document.documentElement.clientHeight ||
document.body.clientHeight
});
}