我正在開發Ionic2應用程序ngrx。離開頁面時從商店暫停更新
要從我的商店中選擇數據,我正在使用reselect。
我有一些頁面使用相同的數據(來自同一個reducer),但與其他reducer數據結合,取決於當前頁面(這意味着每個頁面都有自己的重選器,但每個選擇器至少有一個與其他選擇器共同的論點,所以每當這些論點中的一個改變時,這些頁面的所有重排器都需要重新計算)。
它看起來是這樣的:
page1 = createSelector(fromState1.getData, fromCommonState.getData,(data, commonData) => {...});
page2 = createSelector(fromState2.getData, fromCommonState.getData,(data, commonData) => {...});
page3 = createSelector(fromState3.getData, fromCommonState.getData,(data, commonData) => {...});
我關心的是,如果有很多網頁時常見的狀態改變所有的選擇都重新計算,即使我只需要重新計算所使用的一個當前頁面。我認爲如果選擇器需要做複雜的事情,這可能會成爲一個很大的性能問題。
有沒有辦法從商店「暫停」獲取更新,直到我回到那個頁面?通過這種方式,只有當前頁面的選擇器將被重新計算。
或者還有另一種避免不必要計算的方法嗎?