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