我正在使用React开发一个Web应用程序,需要检测屏幕大小何时进入移动断点才能更改状态.具体来说,当用户进入移动模式并且使用存储在组件内状态的布尔值控制时,我需要将sidenav折叠.
我所做的是在组件安装后添加一个事件监听器:
原文链接:https://www.f2er.com/react/300955.htmlcomponentDidMount() { window.addEventListener("resize",this.resize.bind(this)); this.resize(); } resize() { this.setState({hideNav: window.innerWidth <= 760}); }
编辑:
为了保存状态更新,我稍微更改了“调整大小”,只是在需要时进行更新.
resize() { let currentHideNav = (window.innerWidth <= 760); if (currentHideNav !== this.state.hideNav) { this.setState({hideNav: hideNcurrentHideNav}); } }