Javascript 如何使用Immer.js将新字段添加到reducer中?
比如说,Javascript 如何使用Immer.js将新字段添加到reducer中?,javascript,redux,reducers,immer.js,optional-chaining,Javascript,Redux,Reducers,Immer.js,Optional Chaining,比如说, state = { data: {} } 如何将新的嵌套字段添加到对象中? 我无法设置该字段,因为出现错误无法读取未定义的属性“date” const reducer = produce((draft, action) => { switch (action.type) { case 'ACTION_SUCCESS': draft.data.children.date = action.response; } }); 因此,我希望:
state = {
data: {}
}
如何将新的嵌套字段添加到对象中?
我无法设置该字段,因为出现错误无法读取未定义的属性“date”
const reducer = produce((draft, action) => {
switch (action.type) {
case 'ACTION_SUCCESS':
draft.data.children.date = action.response;
}
});
因此,我希望:
data: {
children: {
data: 'date'
}
}
}
正常的JS对象操作规则在这里适用。如果没有
.y
字段,你就不能写obj.x.y.z=
——你必须先创建它。在对象中创建新字段的最佳方法是什么?就像我说的,从代码的角度来看,这只是普通的JS。比如说someObj.newField=123
。