ngrx を使用してIonic2アプリを開発しています。
私のストアからデータを選択するには、reselectを使用しています。
同じデータ (同じレデューサーから) を使用するページがいくつかありますが、現在のページに応じて、他のレデューサー データと組み合わせて使用します (これは、各ページに独自のリセレクターがあることを意味しますが、このセレクターのそれぞれには少なくとも 1 つのセレクターがあります)。したがって、これらの引数の 1 つが変更されるたびに、これらのページのすべてのリセレクターを再計算する必要があります)。
次のようになります。
page1 = createSelector(fromState1.getData, fromCommonState.getData,(data, commonData) => {...});
page2 = createSelector(fromState2.getData, fromCommonState.getData,(data, commonData) => {...});
page3 = createSelector(fromState3.getData, fromCommonState.getData,(data, commonData) => {...});
私が懸念しているのは、共通の状態が変化するたびに多くのページがある場合、現在のページで使用されているセレクターを再計算する必要がある場合でも、すべてのセレクターが再計算されることです。セレクターが複雑なことを行う必要がある場合、これは大きなパフォーマンスの問題になる可能性があると思います。
そのページに戻るまでストアからの更新を「一時停止」する方法はありますか? このようにして、現在のページのセレクターのみが再計算されます。
または、不要な計算を回避する別の方法はありますか?