Перехватить обратную навигацию с помощью React Router 4? - PullRequest
0 голосов
/ 20 мая 2019

У меня есть страница оформления заказа, которая после отправки формы приводит вас на страницу заказа. Если пользователь нажимает кнопку «Назад» в браузере на странице «Заказ», то вместо того, чтобы возвращать их на страницу «Оформить заказ», мне нужно перенаправить их на страницу «Учетная запись». Как я могу сделать это с React Router 4?

Я нашел этот вопрос, но он кажется устаревшим: Перехватить / обработать кнопку возврата браузера в React-router?

Я могу думать о 2 подходах:

1 В Checkout на componentDidMount посмотрите, был ли предыдущий URL /order. Если это так, выполните перенаправление.

2 В компоненте Order перехватить команду обратной навигации и вместо этого перенаправить.

Я бы предпочел вариант 2, так как поведение находится в компоненте, из которого он будет вызываться, и компонент Checkout не нужно монтировать. Однако я не уверен, что браузеры позволяют вам редактировать эти вещи?

1 Ответ

0 голосов
/ 20 мая 2019

Вам нужно будет манипулировать историей реагирующего маршрутизатора.Вы можете использовать библиотеку истории или компонент Redirect.Этот пост объясняет это хорошо: https://tylermcginnis.com/react-router-programmatically-navigate/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...