我最初使用hashHistory
fromreact-router
并以编程方式使用this.props.history.push()
. 但是随着HashRouter
从react-router-dom
包中转移到使用,this.props.history.push()
现在会引发Cannot read property 'push' of undefined
错误。
我现在如何以编程方式导航使用HashRouter
?
ReactDOM.render(
<Provider store={store}>
<MuiThemeProvider>
<HashRouter>
<div>
<Route exact path="/" component={App} />
<Route path="/landing" component={Landing} />
</div>
</HashRouter>
</MuiThemeProvider>
</Provider>,
document.getElementById('root'));
App.js的渲染函数
render() {
return (
<div className="App">
...
<div>
<Collapse isOpened={this.state.activeForm === 1}>
<SignUpForm />
</Collapse>
<Collapse isOpened={this.state.activeForm === 2}>
<SignInForm />
</Collapse>
...
</div>
);
}
正在调用的SignUpForm.js中的函数.push()
handleSubmit(e) {
...
this.props.history.push('/landing');
...
}