React router 1.0 -历史记录问题

React router 1.0 - Issue with history

本文关键字:历史 记录 问题 router React      更新时间:2023-09-26

我正在使用react-router 1.0 rc,并且我在历史记录中遇到了一点问题。我使用的是createBrowserHistory(),当我做路由转换时,我使用的是在地址栏中工作的pushStatereplaceState,但没有重新加载页面,并且在任何页面上硬刷新附加#/?_k=789x0c到url,这让我认为应用程序没有正确使用历史。

我有太多的代码要发布,但下面应该足以看到我是如何使用历史的(和大多数例子一样)。

history.js:

import createBrowserHistory from 'history/lib/createBrowserHistory';
export default createBrowserHistory();

index.js:

import history from './history';
React.render(
  <Provider store={store} history={history}>
    {() => <Router>{routes}</Router> }
  </Provider>,
  document.querySelector('#app')
);

对于任何有类似情况的人来说,问题是由于将历史道具放在<Provider>组件上而不是<Router>,这是一个愚蠢的错误,这是迁移到1.0的副作用。