我最初使用hashHistory
從react-router
,並以編程方式導航使用this.props.history.push()
的我的React應用程序。但隨着從react-router-dom
包使用HashRouter
,this.props.history.push()
現在拋出Cannot read property 'push' of undefined
錯誤。以編程方式導航w/HashRouter
如何現在使用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的FUNC
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');
...
}
''history.push()'仍然存在於react-router v4中。但可能無法使用,具體取決於您在何處使用以及如何配置路線。如果您可以分享更多解釋這些內容的代碼,我們可能會給您一個可靠的答案。 –
@TharakaWijebandara,只是增加了相關的代碼。 – Mike
您在哪裏嘗試在Landing組件內使用'this.props.history.push()'? –