this.state = {
children: {
1: {
id:1,
name: 'hello',
}
}
}
我试图通过以下代码更新其中一个孩子
// given a child
var state = _.merge({}, state, {
children: {
[child.id]: child
}
})
这看起来很简单,但大多数SO帖子都推荐immutability helper
,所以我想知道上述方法是否有任何缺陷?
答案 0 :(得分:0)
注意:此方法会改变对象。(Lodash文档),即我认为你不应该使用它来返回一个新状态。
使用Object.assign
方法或{...object, newFieldValue}
ES6点差运算符
答案 1 :(得分:0)
试试这个
var state = Object.assign({}, state, { children: { [child.id]: child } })