Javascript 根据窗口宽度更改状态
如果窗口宽度小于768,我想关闭一个旁白菜单,我可以在reducer中使用以下代码:Javascript 根据窗口宽度更改状态,javascript,redux,conditional-statements,Javascript,Redux,Conditional Statements,如果窗口宽度小于768,我想关闭一个旁白菜单,我可以在reducer中使用以下代码: case "SCREEN_RESIZE": if(action.screenWidth <= 768) { return {...state, changeHamburger: state.changeHamburger = false} } else { return {...state, changeHamburger: state.changeHamburger = tr
case "SCREEN_RESIZE":
if(action.screenWidth <= 768) {
return {...state, changeHamburger: state.changeHamburger = false}
} else {
return {...state, changeHamburger: state.changeHamburger = true}
}
我的问题是,当窗口宽度小于768时,菜单关闭,但当我打开菜单并更改浏览器宽度大小时。它再次关闭,因为减速器中的条件明显起作用
如何在小于768px的条件状态下不关闭调整大小?您可以添加一个名为
ismenuOpenedmanual
的标志,默认情况下将其设置为false
。在汉堡图标的点击事件功能中,根据以下情况手动更改IsmenuOpened
的状态:
1) Screensize <= 768 && Menu is opened manually -> isMenuOpenedManually = true;
2) Screensize <= 768 && Menu is closed manually -> isMenuOpenedManually = false;
1)屏幕大小为手动打开=真;
2) 屏幕大小isMenuOpenedManually=false;
我可能错过了一些案子,但你可能有办法处理它。希望这能解决你的问题
1) Screensize <= 768 && Menu is opened manually -> isMenuOpenedManually = true;
2) Screensize <= 768 && Menu is closed manually -> isMenuOpenedManually = false;