Могу ли я использовать один EntityAdapter для нескольких экземпляров одного и того же EntityState?

У меня есть одно 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
 )
}

person Stefan    schedule 14.02.2019    source источник
comment
Да, вы можете это сделать, поскольку адаптер - это просто функция, возвращающая новое состояние. Но я не уверен, чего именно вы хотите добиться. Обычно одни и те же объекты хранятся и управляются одним и тем же редуктором.   -  person Borys Kupar    schedule 14.02.2019
comment
У них одна и та же модель, но они содержат объекты с разным статусом, и я предпочитаю хранить их в отдельной собственности.   -  person Stefan    schedule 14.02.2019


Ответы (1)


Да, это сработает. Функция адаптера чистая, она принимает некоторое состояние и «полезную нагрузку» и возвращает новое обновленное состояние.

Опубликованный вами фрагмент действителен.

person timdeschryver    schedule 14.02.2019