в документации не могу найти способ узнать предыдущий стейт роута. Может кто сталкивался, подскажите плиз
Что значит предыдущий стейт? параметры и локейшн?
никак, это скрытая информация на уровне браузера, ради безопасности пользователей
У меня такой кейс. Нужно вернутся на предыдущую страницу. Используя history.goBack() принесёт много ошибок. А перейти на этот роут можно 3 способами. И тут встаёт вопрос как вернуться?
goBack не должен ничего ломать. это то же самое, если нажмешь "назад" в браузере
Когда делаешь переход на эту страницу, передавай history.push() вторым аргументом с какой страницы ты приходишь. И потом возвращайся на эту же
А если я тебе кину ссылку на страницу? И ты нажимаешь на кнопку, чтоб вернутся.
тогда push. Я полностью кейса не понял, push(route, params), где в params будет объект например { redirect: 'blabla' }
Да, я это понимаю. Я имел ввиду, что к примеру: я тебе кидаю ссылку той страницы где я нахожусь в данный момент. Так как ты до этого не заходил на эту страницу у тебя история роутов пуста и соответственно ты не сможешь вернуться через history.goBack(). Тогда нужно использовать history.push Но тут не стыковка, на эту страницу можно попасть тремя путями, три разных роута.
я не очень понимаю полностью кейс, для чего нужно возвращаться на предыдущую страницу в случае человека, которому скинули
Используй query param. Сможешь шарить ссылку вместе с редирект стейтом
он наверное имеет ввиду полностью историю передать, но я бы вообще не стал так делать
Там очень сложная логика. Есть страница создания, к примеру товара, из неё можно попасть на страницу описания товара. При сохранении описания, на третьей странице добавляется это описание. И так мы можем попасть на страницу из создание/изменения товара и из списка описаний товара. И как отследить откуда я попал на страницу описания. Возможно я слишком сложно объясняю.
Ок, не смотрел что там ещё лежит, спасибо за наводку
Обсуждают сегодня