有没有一种方法可以在不重新加载或更改历史记录的情况下更改 URL?

Is there a method to change the URL without reloading or making changes to the history?

我有一个 React 应用程序,用户点击一个按钮,然后返回一个随机项目,我想从该项目中取出 属性 并将其附加到 URL。但是,我不想重新加载页面。虽然我可以使用 history.replace / history.push 来更新 URL,但问题是如果用户单击返回,那么他们将返回到最后一页,该页面根据 off 正确呈现redux-store 中的先前值,但 URL 将落后。

例如,如果用户在 myapp/item6 上并点击后退按钮,他们将返回到 myapp/item5 但 URL 不会改变以反映这一点。

目前正在使用 react-router 和 withRouter。

<Link 
  to={{ 
    pathname: '/somelocation',
    state: { from: props.location } 
  }}
/>

然后在您的后退按钮中

<Link to={props.location.state.from}>
  Back
</Link>