1

我需要在我的减速器中删除选定的“档案”。有没有办法过滤当前状态?我找到了以下解决方案,但我认为应该有更好的方法来做到这一点。

export const adapter: EntityAdapter<Archivado> = createEntityAdapter<Archivado>(
  {
    sortComparer: (e1: Archivado, e2: Archivado) => e1.id - e2.id
  }
);

export const archivadosInitialState: ArchivadosState = adapter.getInitialState();

export function archivadosReducer(
  state: ArchivadosState = archivadosInitialState,
  action: ArchivadosAction
): any {
  switch (action.type) {
    case ArchivadosActionTypes.DELETE_SELECTED: {
      const ids: number[] = [];
      const entities = { ...state.entities };
      for (const key in Object.keys(entities)) {
        if (entities.hasOwnProperty(key) && entities[key].selected) {
          ids.push(+key);
        }
      }
      return adapter.removeMany(ids, state);
    }
    default: {
      return state;
    }
  }
}

4

0 回答 0