我想从应用程序的根级<HashRouter></HashRouter>
组件(其中包含作为子级的路由器)控制路由器组件<App> </App>
。
class App extends Component {
componentDidMount(){
// potentially push to history here
}
render () {
<HashRouter></HashRouter>
}
}
这可能吗? (在4.2.2中使用react-router-dom)
答案 0 :(得分:0)
非路由组件可以使用withRouter
(实际上是<Route children>
的包装器)来访问特定于路由器的道具,尤其是history
。
withRouter
组件应位于路由器内部,因此不能应用于App
。 可能在此处推送历史记录任务应委派给<Router>
增强的withRouter
子组件:
@withRouter
class Child extends Component {
componentDidMount() {
this.props.history.push(...);
}
render () {
return null;
}
}