У меня есть ApplicationState
, в котором есть project
член, а мой ProjectState
выглядит примерно так:
interface ProjectState {
listObjs: SomeType[];
}
В моем component.ts
onInit у меня есть что-то вроде этого:
...
this.objID = someString
...
this.listObj$ =
this.store.select( state => state.project.listObjs.find( item => item.id === this.objID));
...
В моем редукторе я обрабатываю создание нового состояния следующим образом:
...
case (action.ACTION1): {
const newState = {... state};
const objIndex = state.listObjs.findIndex( item => item.id === action.payload.id )
if ( objIndex === -1 ) {
return state;
}
Object.assign(newState.listObjs[objIndex].someMember, {... action.payload.someData});
return newState;
}
...
Я подписался на listObj$
в моем компоненте onInit, но он обслуживается при инициализации, и всякий раз, когда я делаю изменения в obj
в массиве, я не вижу subscribe
, получающего обновленные данные