首页 > 解决方案 > 如何使用 redux 在 Angular 中管理 in-change-out 对象流

问题描述

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

标签: angularreduxangular-redux

解决方案


推荐阅读