У меня есть состояние NGXS, определенное как массив.
interface Sample {
name: string;
age: number;
}
@State<Sample[]>({
name: 'samples',
defaults: [] as Sample[]
})
@Injectable()
export class SampleState {
}
Теперь предположим, что у меня есть существующее состояние [{name:'abc', age: 1}, {name: 'def', age:2}]
Как я могу добавить действие, изменяющее возраст для Образец основан на имени и обновляет состояние. Если это объект, я мог бы использовать простое patchState, но здесь состояние - это массив, поэтому я не уверен.
@Action(SampleActions.UpdateAge)
updateAge(context: StateContext<Sample[]>, action: SampleActions.UpdateAge): void {
}
Это определенное мной действие в SampleActions
export class UpdateAge{
static readonly type = '[Sample] Update Age';
constructor(public name: string, public age: number) {}
}
Спасибо.