2017-08-02 82 views
0

我使用了React和React-Router,並且我有一個包含所有會話數據的頂級組件<App/>。每當我導航到不同的頁面時,我都會丟失狀態信息。我該如何堅持所有頁面的狀態數據? (如果這是不可能的,是否有不同的方式我應該執行我的會話數據?)如何在頁面導航中保留狀態數據?

+0

你使用的是browserRouter還是hashRouter?你如何在頁面之間導航?如果你使用react-router的鏈接元素進行導航,它的歷史,那麼祖先組件的狀態應該被保留下來。 –

+0

@PhilBellamy我正在使用來自react-bootstrap的''鏈接,這些鏈接使用它們的href屬性導航到不同的頁面。 –

+0

使用傳統href鏈接頁面將重新加載該頁面,因此爲什麼你的狀態是丟失的。通過使用反應路由器導航技術(例如鏈接元素),頁面不會被重新加載,你應該會發現你的頂級組件狀態通過導航持續存在 –

回答

1

您可以使用session storage (sessionStorage)來存儲要跨頁面保留的數據項。這不會發送到服務器,並在會話結束時消失。 (你也可以使用localStorage來進行下一次訪問時你可能想要保留的東西

1

我使用Redux它存儲你想要的組件外的數據,你可以在任何你喜歡的地方連接。

相關問題