React router history.push不是一个函数

时间:2016-05-03 20:17:48

标签: javascript reactjs react-router

我有两个问题。我已经阅读了一些SO帖子并浏览了各种文档,但我遇到了不同的解释。

这就是我所拥有的:

var Router = window.ReactRouter.Router;
var useRouterHistory = window.ReactRouter.useRouterHistory;
var Route = window.ReactRouter.Route;
var Link = window.ReactRouter.Link;
const createHistory = window.History.createHistory;
const appHistory = useRouterHistory(createHistory)({ queryKey: false });

var MyTable = React.createClass({
    getInitialState: function() {
    ...
    history.push({
      pathname: window.location.href.split('?')[0],
      search: querystring,
      state: { 'data': initial_data }
    });
    ...
    },
    ...
});

ReactDOM.render((
  <Router history={appHistory}>
    <Route path={window.page_url} component={MyTable}>
    </Route>
  </Router>
), document.getElementById('my-table-wrapper'));

问题1是:history.push不是函数。

问题2是:如果我使用,例如,window.history.pushState,我会在浏览器的后退和前进按钮上获得更好的URL,我看到我可以在epopstate上执行操作。与我上面尝试使用的历史相同的是什么?

感谢。

0 个答案:

没有答案