2017-08-17 36 views
1

我想要檢測用戶何時點擊後退按鈕。實質上,當用戶從/ projects移動到/ projects/foo時,導航樣式發生更改。React路由器,點擊瀏覽器後退按鈕時的生命週期

<Route path="/projects" component={(props, state, params) => 
     <Projects {...props} /> 
</Route> 

檢測時從/項目onClick事件到一個特定的項目,但當用戶點擊後退按鈕componentDidMount是不是叫......我試圖用this.props.location.pathname來確定具體的路徑也能正常工作,但由於我需要設置狀態,我不能在render內部執行此操作。

有沒有一種「反應」的方式去做這件事? Thx

回答

1

如您所述,componentDidMount只會在組件掛載時調用一次。相反,使用生命週期鉤子componentWillReceiveProps。 Here是文檔。

如果您處於所需的/正確的路徑,您可以使用它來有條件地設置setState。這將更新將重新呈現組件的狀態。

相關問題