for f,v in zip(schema.fields, schema.names):
if v == colname:
updatedschema.add(v, datatype, False, metadata = {"test": "value"})
else:
updatedschema.add(f)
所以我有这个初始状态。这是我关于减速器的案例陈述之一
我正在尝试用新的用户对象替换对象(用户)。 所以我试图映射数组,然后用新旧名称替换它。旧名称和新名称正确输入。但是,当前这会将10个对象的数组更改为10个对象的数组,而数组的最后一项是10个对象的数组。非常令人困惑,但本质上是
数组从长度10增长到长度11
即使应该保持不变
并且数组的最后一项(本身就是数组)是我想要处于新状态的数组
这是否有意义?
基本上它很近,但是还不很远
答案 0 :(得分:0)
您不需要做spread syntax
,而是要做return the mapped value
,因为您要遍历化简器状态并分别克隆映射中的内部对象。
case UPDATE_USER: {
console.log(action, "this is action");
return state.map(
user =>
user.name === action.oldName
? {
...user,
name: action.newName
}
: user
)
}