const MobileMenu = () => {
const { open, setOpen } = useContext(DataContext);
const menuItems = ["Login", "Store", "Community", "About", "Support"];
window.addEventListener("click", function (e) {
if (open && !this.document.getElementById("menu").contains(e.target)) {
e.stopPropagation();
setOpen(false);
}
});
return (
- {menuItems.map((item) => (
-
{item}
))}
);
};
< /code>
Если я прокомментирую Window.addeventListener Block Я могу открыть меню. Однако возвращение блока кода вообще останавливает меню вообще. Он установлен так, что если открытое состояние верно, и вы нажимаете за пределы меню, то оно установит открытое состояние в False. Но кажется, что, когда открытое состояние неверно, и я нажимаю кнопку, чтобы открыть меню, что оно верно и устанавливает его обратно на ложь.>
Подробнее здесь: https://stackoverflow.com/questions/796 ... e-the-menu
Мобильная версия