Я давно использую 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
?