2017-10-19 72 views
3

我用React j製作了Todo列表。這個網頁有List和Detail頁面。 有一個清單和1個清單有10個項目。當用戶滾動底部時,下一頁數據將被加載。React是否像Vue js一樣保持活力?

用戶點擊第40項 - >看詳細頁面(反應路由器) - >單擊後退按鈕

頁面的主要頁面滾動頂部,並再次獲得第1頁的數據。

如何在沒有Ajax調用的情況下恢復滾動位置和數據

當我使用Vue js時,我使用了'keep-alive'元素。 幫幫我。謝謝:)

+0

可能重複的[React/redux如何保持路徑之間的滾動位置](https://stackoverflow.com/questions/40135087/react-redux-how-to-maintain-scroll-positoin-between-routes) –

回答

0

保持活力真的很好。一般來說,如果你想保存狀態,你可以看看使用Flux(Redux lib)設計模式來將你的數據存儲在全球商店中。你甚至可以將它添加到單個組件用例中,而不是在任何其他地方使用它,如果你願意的話。

如果您需要保留組件,可以查看提升組件的方法,並在組件中添加「display:none」樣式。這將保留節點並因此保留組件狀態。

值得注意的是「關鍵」字段有助於React引擎找出哪些樹應該被卸載以及應該保留什麼。如果您擁有相同的組件並希望在多種用法中保持其狀態,請維護關鍵值。相反,如果您想確保卸載,只需更改鍵值。