我正在使用Ngxs
,发现了developmentMode
。
我打开了它,发现了一些我不理解的新错误。
在我的商店中,我有过滤器。我已经制作了一个外观函数来获取它们并进行调整。
filterBarFiltrySnapshot(obiektId: Obiekty): any[] {
let filtry = this.store.selectSnapshot((state: AppStateModel) => state.obiektyConfig[obiektId].filterBarFiltry);
if (filtry) {
filtry = filtry.map(item => {
if (item.formValue) {
Object.values(item.formValue).forEach(item2 => {
item2.value = this.wstawianieWartosciService.wstaw(item2.value, obiektId);
});
}
return item;
});
}
return filtry;
}
打字稿说TypeError: Cannot assign to read only property 'value' of object '[object Object]'
。
但是为什么呢? this.store.selectSnapshot
返回数组,难道不是它在商店的副本吗?
我将代码更改为此的事件:
let filtry = [
...this.store.selectSnapshot((state: AppStateModel) => state.obiektyConfig[obiektId].filterBarFiltry)
];
仍然有错误。
如何更改代码以满足不可变的限制?