问题描述
所以我的减速器中有这个
export interface PersonState {
person: Person;
}
里面有一系列亲戚,我正在尝试用它来更新它:
mutableOn(PersonActions.addRelatives,(state,{ relatives }) => {
const person = state.person;
person.relatives = relatives;
})
不能将对象'[object]的只读属性'Relatives'分配为只读 对象]'
我对NgRx和Immer很陌生,所以我不知道自己在做什么错。有任何线索吗?
解决方法
您正试图修改不可变的人,这是被禁止的。更新您的人的正确方法是
mutableOn(PersonActions.addRelatives,(state,{ relatives }) => {
return {
...state,person: {
...state.person,relatives,}
};
})