[英]react router v4 programmatically change route
似乎無法找到很多關於此的質量文檔。 React Router v4文檔包含“歷史”對象的信息,但聲明它是可變的,不應更改。 我見過的很多例子看起來像'黑客'。 任何見解將不勝感激。
作為一個反應新手,我不得不一直在努力解決這個問題。 雖然@ToddChaffee提供的鏈接為您提供了很好的洞察力,但此線程強調,當您將<Router/>
作為頂級組件時,歷史對象會自動作為prop傳遞。 這使得它比分別加載歷史對象和使用createBrowserHistory()
方法簡單得多。
以下對我有用:
<Route exact path='/' render={({history}) =>
<Home infoHandler={this.handleUserInfo}
imageHandler={this.handleImage}
history={history}/>
}/>
然后在組件內部,您可以:
this.props.history.push('/routeYouWantToGoTo');
在導出模塊之前,不要忘記對組件中的prop進行類型檢查:
Home.propTypes = {
history: React.PropTypes.object
}
export default Home;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.