使用react history对象更改上次浏览器的URL

时间:2018-05-22 13:18:36

标签: reactjs browser react-router

我目前正在尝试使用history.push()对象: https://github.com/ReactTraining/history

点击浏览器的后退按钮时,我无法更改浏览器的最后一个网址。

当我使用history.push(...)时,当前浏览器的URL会发生变化;有办法避免这种情况吗?或者只是使用窗口对象我可以使它工作吗?

我的申请不是单页申请;代码:

    import createHistory from 'history/createBrowserHistory';
    const history = createHistory();
    const testUrl = 'http://test.com'

    history.push(testUrl);
    window.addEventListener('popstate', (event) => {
        history.go(testUrl);
    });

1 个答案:

答案 0 :(得分:0)

您可以使用pushStatereplace。 pushState添加一个新条目,而replace修改当前。

@see https://developer.mozilla.org/de/docs/Web/Guide/DOM/Manipulating_the_browser_history

正如我从您的模块history/createBrowserHistory中看到的那样,您正在使用this模块,该模块应与本机实现完全兼容。