Семён Окулов, Именно так и делаю, но вопрос в другом был, мне нужно остановить навигацию, у меня получилось сделать простое перенаправление, но действие назад и само перенаправление вызывают смену url, что ререндерит страницу. Я добавлял новую запись в стек истории с помощью window.history.pushState( и добавлял кеш к уже используемому url ) и получалось что при действии назад, кеш убирался без рендера. Но вся проблема в том, что window.history и история в react разные, и по итогу это не приятный костыль, так который еще ломает последовательность записей в истории сайта.
Пишу мобильную версию сайта, хотелось бы получить интерфейс как у приложения. Поэтому хотелось бы иметь возможность закрывать модалки действием назад. Хук useHistory - https://qna.habr.com/q/1071298. Есть другие способы работать со стеком истории? В данном случае мне нужно задавать новый url с кешом, чтобы действием назад мы его убирали, ведь изменение кеша не отправляет данных на сервер и не ререндерит страницу.
strelok011, body при открытии окна получает следующий атрибут: style="position: fixed; overflow: hidden; top: -13px;" , где top = window.scrollY в момент открытия модального окна.
strelok011, у айфона при таком скролле меняется значение у window.scrollY (скроллится непосредственно window), а у андроидов нет, но также скролл блочится. Выяснил через ивент 'touchstart', что currentTarget = window, и при попытке скролла вниз, браузер перекидывает скролл на него. Есть ли возможность этого избежать в моем случае?