Оказалось ,не включил Eslint...
Про хуки понял - исправляюсь
В общем, поправь хуки и должно заработать (у меня заработало, но не буду выливать, тебе надо самому попытаться).
Если заработает, то он тебе покажет вот такое:


Собственно, эту ошибку и в браузере видно, и на ошибки в браузере обязательно надо обращать внимание.


Это распространенная ошибка, которой не должно быть: все хуки должны выполняться обязательно и до их выполнения никак логика не должна обрываться по каким-либо условиям.

У тебя же ошибка в том, что useState() прописан внутри useMemo(). То есть хуки внутри хуков тоже нельзя прописывать.

Eslint надо ставить.


И надо потом убедиться, что он активен:


Если перечеркнут, надо по нему кликнуть и во всплывашке разрешить его (Allow).
Нету. Что-то из дополнений не стоит?
А у тебя в VSCode разве нет этих ошибок?

Сделл коммит: https://github.com/Pivkarta/pivkarta.ru-2/commit/cb1db19d983184dbe5f58c5b04a8993f0d0078ea
Дима, привет!

Во-первых, прежде чем задавать такие вопросы, выливай коммит, хотя бы в какую-нибудь отдельную ветку (и в комментарии пиши, если это не основная ветка, куда вылил).
git push --no-verify

Согласись, мне проще будет?
Николай, приветствую!

Добавляю такой код:

const [citiesOpened, citiesOpenedSetter] = useState(false) const toggleMenuCities = () => { if(citiesOpened){ citiesOpenedSetter(false) } else { citiesOpenedSetter(true) } }
И повесил на:

<button //href={`/city/${coordsUrl}`} onClick={toggleMenuCities} title="Пивная карта по городам" className="dropdown-toggle" data-toggle="dropdown" >
Заменив ссылку на кнопку.

В стиле списка городов - display: citiesOpened ? 'block' : 'none',

Но возникает ошибка:

Unhandled Runtime Error

TypeError: Cannot read property 'length' of undefined
Source
src/pages/_App/Layout/MainMenu/index.tsx (149:33) @ MainMenu
147 | const [opened, openedSetter] = useState(false) 148 | > 149 | const toggleMenu = useCallback(() => { | ^ 150 | openedSetter(!opened) 151 | }, [opened]) 152 |

Где я не прав?