我有两个问题。我已经阅读了一些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上执行操作。与我上面尝试使用的历史相同的是什么?
感谢。