Селектор Ngrx прямой или составной

у меня такое состояние

      export interface State {
  error: string | null;
  loaded: boolean;
  loading: boolean;
  data: MyDto | undefined;
}

с этим селектором

      export const selectData = createSelector(selectFeature, (state: MyDto) => {
  if (state.data) {
    return state.data;
  }
  return undefined;
});
export const selectError = createSelector(selectFeature, (state: MyDto) => {
  return state.error;
});
export const selectLoaded = createSelector(selectFeature, (state: MyDto) => {
  return state.loading;
});
export const selectLoading = createSelector(selectFeature, (state: MyDto) => {
  return state.loading;
});

чтобы отменить дополнительный рендеринг, я хочу иметь единый селектор, как лучше всего и почему

Прямой

      export const selectVm = createSelector(selectFeature, (state: MyDto) => {
  return state;
});

или

      export const selectVm = createSelector(
  selectError,
  selectLoaded,
  selectLoading,
  selectData
  (error, loaded, loading, data) => {
    return {
      error,
      loaded, 
      loading,
      data
    };
  }
);

0 ответов

Другие вопросы по тегам