NgRx-etc:无法分配给对象“[Object]”的只读 属性 'Property'
NgRx-etc: Cannot assign to read only property 'Property' of object '[Object]'
所以我的减速机里有这个:
export interface PersonState {
person: Person;
}
里面有一组亲戚,我正在尝试用这个更新它:
mutableOn(PersonActions.addRelatives, (state, { relatives }) => {
const person = state.person;
person.relatives = relatives;
})
但它给了我一个错误:
Cannot assign to read only property 'Relatives' of object '[object
Object]'
我对 NgRx 和 Immer 很陌生,所以我不知道我做错了什么。有什么线索吗?
你试图修改不可变的人,这是禁止的。更新你的人的正确方法是
mutableOn(PersonActions.addRelatives, (state, { relatives }) => {
return {
...state,
person: {
...state.person,
relatives,
}
};
})
所以我的减速机里有这个:
export interface PersonState {
person: Person;
}
里面有一组亲戚,我正在尝试用这个更新它:
mutableOn(PersonActions.addRelatives, (state, { relatives }) => {
const person = state.person;
person.relatives = relatives;
})
但它给了我一个错误:
Cannot assign to read only property 'Relatives' of object '[object Object]'
我对 NgRx 和 Immer 很陌生,所以我不知道我做错了什么。有什么线索吗?
你试图修改不可变的人,这是禁止的。更新你的人的正确方法是
mutableOn(PersonActions.addRelatives, (state, { relatives }) => {
return {
...state,
person: {
...state.person,
relatives,
}
};
})