私はngrxサンプルアプリのコードを読んでいて、2つの関数呼び出しを見つけました
createFeatureSelector<AuthState>('auth');
そして
createSelector(selectAuthState,(state: AuthState) => state.status);
これは何をしますか?
export const selectAuthState = createFeatureSelector<AuthState>('auth');
export const selectAuthStatusState = createSelector(
selectAuthState,
(state: AuthState) => state.status
);
ストアスライス選択の最適化ステップとして使用されます。たとえば、あるストアスライスに対して重い計算結果を返す場合、createSelector
を使用するとメモ化が行われます。つまり、セレクターへの最後の入力パラメーターを追跡し、現在のパラメーターと同じ場合は、計算を繰り返す代わりに、すぐに最後の結果を返します。
参照: https://github.com/ngrx/platform/blob/master/docs/store/selectors.md