我可以对同一个EntityState的几个实例使用单个EntityAdapter吗?

时间:2019-02-14 12:58:15

标签: angular ngrx ngrx-store ngrx-entity

我将同一模型的一个EntityStates分配给单个状态中的几个属性。我可以使用单个适配器操作所有这些适配器吗?它们具有相同的初始状态,但将包含具有各种状态的值。

interface myState {
   entity1: EntityState,
   entity2: EntityState
   entity3: EntityState
}

export interface EntityState extends EntityState<MyModel> {}

export const adapter: EntityAdapter<MyModel> = createEntityAdapter<MyModel>();

export const myInitialState: EntityState = adapter.getInitialState({
  loaded: false
});

export const initialState = {
   entity1: myInitialState,
   entity2: myInitialState
   entity3: myInitialState 
}

然后我想使用单个实体实例

state{
...state
entity1: adapter.addMany(payload {
  ...state.entity1
  loaded: true
 )
}

1 个答案:

答案 0 :(得分:1)

是的,这将起作用。 适配器的功能是纯函数,它带有一些状态和“有效负载”,并将返回新的更新状态。

您发布的摘录有效。