如何获取react-router v4的历史记录?
我从React-Router v3迁移到v4时遇到一些小问题。在v3中,我可以在任何地方执行此操作:
import { browserHistory } from 'react-router';browserHistory.push('/some/path');
如何在v4中实现这一目标。
我知道withRouter
当您在Component中时,可以使用hoc ,react上下文或事件路由器props。但对我而言并非如此。
我正在寻找v4中的NavigatingOutsideOfComponents的等效项
回答:
您只需要有一个导出history
对象的模块。然后,您将在整个项目中导入该对象。
// history.jsimport { createBrowserHistory } from 'history'
export default createBrowserHistory({
/* pass a configuration object here if needed */
})
然后,您将使用<Router>
组件而不是使用内置路由器之一。
// index.jsimport { Router } from 'react-router-dom'
import history from './history'
import App from './App'
ReactDOM.render((
<Router history={history}>
<App />
</Router>
), holder)
// some-other-file.js
import history from './history'
history.push('/go-here')
以上是 如何获取react-router v4的历史记录? 的全部内容, 来源链接: utcz.com/qa/424069.html