我正在使用react-router-4.0.0-beta.4
和redux,我正試圖找出調度路由變更動作的最佳方式。我看到幾個版本之前有這個here的API /事件掛鉤。但我看到它現在已經消失了。試圖做現代相當於redux-router
做。如何通過反應路由器v4調度位置變化的動作
9
A
回答
2
似乎發送動作的最佳方式是在組件的componentWillMount()
,componentDidMount()
或componentWillUnmount()
方法中這樣做。
忽略WHATS低於
有onEnter
道具。喜歡這裏comet-frontend
的OnEnter(nextState,更換,回調?)
當路由即將進入調用。它提供了下一個 路由器狀態和一個重定向到另一個路徑的功能。這將是觸發掛鉤的路由實例 。 https://github.com/ReactTraining/react-router/blob/master/docs/API.md#onenternextstate-replace-callback
,但仍有的onChange道具,做你描述的到底是什麼。也許告訴我們你的問題究竟是什麼。因爲好像你在做錯事。
0
因此,你必須將你的主應用程序組件包裝在withRouter
中,並基於withRouter
傳遞的道具中的道具變化作出反應,例如props.location.pathname
。
你可以看到它可能如何在這裏工作https://github.com/ReactTraining/react-router/issues/4603
OK了討論,我想這可能是它,我看到了暗指這在GitHub上的幾個討論。我試着逐字逐句使用'onChange' prop,似乎沒有用。如果'BrowserRouter'具有用於位置更改的「全局」鉤子,那將會很好。 – Lutando
是的。我實際上並不明白他們爲什麼決定擺脫這些道具。它保持代碼清潔。 –