У меня есть приложение для реагирования с реактивным маршрутизатором. У меня есть несколько маршрутов, и некоторые из них показаны в модальном окне. Если я закрою модальное окно, я хочу вернуть пользователя на предыдущую страницу, где модальное окно еще не было активным.
Чтобы знать, если у меня открыто модальное окно, я использую состояние modal:true для местоположения. Я знаю, что могу использовать просто history.goBack (), но у меня есть сценарий, когда я нахожусь на /login, и пользователь переходит оттуда на /register, но оба маршрута показывают модальное окно. В этом случае, если пользователь нажимает кнопку закрытия модального окна, он сначала вернется к /login.
Я пытался сделать что-то подобное, но объект history не обновляется с новым состоянием.
goBack = () => {
while(true) {
history.goBack();
if (!history.location.state || !history.location.state.modal) {
break;
}
}
}
Я использую историю браузера





Вы используете хеш-историю? В README указано, что он «поддерживается только в
createBrowserHistoryиcreateMemoryHistory».