Как управлять потоком объектов in-change-in в Angular с использованием приставки - PullRequest
0 голосов
/ 01 марта 2019

Я давно использую angular-redux в своем текущем проекте на работе, недавно я заметил очень странное поведение, и мне показалось, что State мутирует!Затем я установил redux-freeze и получил много object is not extensible ошибок.

Сейчас проблемный поток выглядит следующим образом:

У меня есть контейнер с

@select(selector_name) data: Observable<Data>

чтобы получить фрагмент данных, затем я передаю данные дочернему компоненту, как этот

<child-component [data]="data | async"...

В дочернем компоненте я могу изменить некоторые поля объекта data и создать объектобратно в контейнер, а затем контейнер отправляет данные на сервер.

// child component
@Input() data: Data;
@Output() dataChanged = new EventEmitter<Data>();

someFunction(newFieldData: string) {
 this.data['field'] = newFieldData; // at this point 'object is not extensible' error is thrown
 this.dataChanged.emit(this.data);
}

Как правильно делать в основном то же самое, но также предотвращать возникновение ошибки object is not extensible?

...