我试图更新机内部的状态改变嵌套的对象,所以我用map
,我知道我不应该发生变异的对象或嵌套对象为数组或对象传播对象。但似乎我无法真正改变深度嵌套的价值。不是可以在减速,即使不变异的对象和数组
旁边的事实,我不能改变的状态,我真的不喜欢代码的样子,尤其是环路我需要做的数量,只是改变一个属性。我觉得这样做有更好,更可读和更高效的方式。
这是国家:
const items = [{
name: 'item 1',
id: 'item1',
tags: [{
id: 'tag1',
name: 'tag 1'
}, {
id: 'tag2',
name: 'tag 2'
}]
}, {
name: 'item 2',
id: 'item2',
tags: [{
id: 'tag1',
name: 'tag 1'
}, {
id: 'tag4',
name: 'tag 4'
}]
}];
这是我正在分发动作:
const action = {
type: 'CHANGE_TAG_NAME',
payload: {
itemId: 'item2',
tagId: 'tag4',
newTagName: 'tag 44444'
}
};
这是减速机:
这是一个很好的模式谢谢。我应该多学习一下 –
不客气:) –