就以segmentfault的問答系統為例,簡化一下,有兩個Top Component,一個是Dashboard,一個是User,Dashboard會展示當前的問題列表,User會顯示個人信息,同時顯示與這個人相關的問題列表,那么在state我設計的model是這樣的:{ 'dashboard': { 'questions': []
}, 'users':[
{ 'id': 1, 'nickname': 'blabla', 'questions': []
}
]
}user和dashboard中可能會有相同的問題,那如何處理兩個對象之間的同步呢?比如在User頁面我刪除了一個問題或者改變了其狀態,當切換到dashboard時如何能立即顯示出來呢?我想到的方法:每次切換頁面都從后臺刷新,這樣保證獲取的對象是最新的【但存在的問題是可能有延時,請求也可能失敗】在reducer中查找相關的對象,并做相應的修改【這里給出的其實是一個最簡單的例子,在實際項目中,state中的結構要復雜得多,查找對象就會特別麻煩】或者大家都是怎么設計state來防止這種問題的?
Redux如何同步state中的數據?
瀟湘沐
2018-10-16 14:13:39