我在我当前的项目中使用 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
错误发生的正确方法?