2015-08-25 39 views
3

我有一個新的產品頁面與網址/產品/ 0。使用按鈕保存產品時,我想顯示「已成功保存」消息,並將網址更改爲/ product/1024,而不實際導航到該頁面,因爲這會導致頁面上的產品和其他數據的GET請求。React路由器 - 更改網址而不導航

我嘗試了導航混合,但是兩者,transitionTo和replaceWith實際上導致componentWillReceiveProps,我無法弄清楚如何區分我的情況(當頁面上的所有數據已經​​相關時)從不同產品之間的導航,當數據必須重新加載時。

所以基本上我正在尋找一種方法來改變URL與React路由器。

+0

我只是在瞭解自己的反應,但似乎您想要執行導航並從保存中返回更新的信息從數據存儲中提取保存的數據。 –

+0

它回到componentWillReceiveProps - 沒有什麼區別保存+導航和導航。我無法弄清楚何時訪問服務器以及何時從商店獲取數據。 – Klotin

+0

此外,如果可能的話,我寧願不進入componentWillReceiveProps - 所有數據已經​​在屏幕上/商店... – Klotin

回答

0

在SPA中沒有導航到其他頁面,歷史更改可能會導致呈現不同的路線,但根據您的示例,將呈現相同的路線,因此唯一發生的事情是state更改Route組件的道具。

因此,您需要檢查componentWillReceiveProps中以前的狀態並查看是否需要重新提取數據。