React-Router - кнопка возврата - PullRequest
       3

React-Router - кнопка возврата

0 голосов
/ 25 сентября 2018

Есть ли способ предотвратить изменение URL-адреса при нажатии кнопки «Назад»?

В настоящее время я использую createMemoryHistory для предотвращения изменения URL-адреса при переходе по ссылкам, установленным в моем приложении.,Делая это, я могу успешно перемещаться, но когда я нажимаю кнопку «Назад» в моем браузере, он изменяет URL (что мне не нужно).

Например, мой URL выглядит как localhost:3000.Затем я нажимаю на ссылку settings и перехожу к представлению настроек, но моя ссылка по-прежнему localhost:3000.Теперь в settings я нажимаю Printers и перехожу к представлению Printers внутри settings.Мой URL все еще выглядит как localhost:3000.Однако, если я нажму кнопку «Назад» и вернусь на страницу настроек, теперь мой URL будет выглядеть как localhost:3000/settings.

Есть что-нибудь.Я могу сделать, чтобы кнопка возврата не изменила мой URL?Спасибо за вашу помощь!

1 Ответ

0 голосов
/ 25 сентября 2018

Я бы предложил использовать класс react-router browserHistory следующим образом:

import { browserHistory } from 'react-router';

//... inside your component class

componentDidMount() {
    browserHistory.listen(location => {
        if (location.action === "POP") {
            // Do your stuff
            // maybe use your `createMemoryHistory` API 
            // to push a / to the history to keep the URL the same?
        }
    });
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...