我已经在我当前的项目中使用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
错误的正确方法是什么?