3
似乎無法找到這麼多高質量的文檔。 React Router v4文檔包含'history'對象的信息,但聲明它是可變的,不應該改變。我看到的很多例子看起來像是「黑客」。任何洞察力將不勝感激。反應路由器V4編程方式更改路線
似乎無法找到這麼多高質量的文檔。 React Router v4文檔包含'history'對象的信息,但聲明它是可變的,不應該改變。我看到的很多例子看起來像是「黑客」。任何洞察力將不勝感激。反應路由器V4編程方式更改路線
我曾與這一個了一段時間搏鬥的反應新受自己。雖然這@ToddChaffee提供的鏈接給你一個很好的啓示,this螺紋突出,當你有<Router/>
作爲頂級組件的歷史對象將自動爲道具過去了。這比單獨加載歷史記錄對象並使用createBrowserHistory()
方法要簡單得多。該組件可以在裏面
<Route exact path='/' render={({history}) =>
<Home infoHandler={this.handleUserInfo}
imageHandler={this.handleImage}
history={history}/>
}/>
然後:
以下爲我工作
this.props.history.push('/routeYouWantToGoTo');
不要忘記你導出模塊之前進行類型檢查的道具在你組件:
Home.propTypes = {
history: React.PropTypes.object
}
export default Home;
這一點已經在這裏找到答案http://stackoverflow.com/questions/42672842/how-to-get-history-on-react-rou叔V4。希望有所幫助。 –
@ToddChaffee我明白了。似乎可以在歷史記錄上推送新路線,但由於它是可變的,所以不信任歷史記錄對象的位置屬性。謝謝! –
是的,你說的。按照我的經驗,使用歷史記錄對象推送新路線效果很好。 –