使用
react开发项目过程中,遇到需要设置组件state中某个对象的某个属性,尝试多种方式不得要领,查找资料最后找到解决方式
组件中的state如下结构:
this.state = {
detail: {
key: value
}
}
需要通过this.setState()方法设置,尝试过程如下(错误的方式)
this.setState({
detail: {
key: value2
}
})
最后在this.setState()传入Object.assign()方法实现该需求(正确的方式)
this.setState(
Object.assign({}, this.state.detail, { key: data })
)
参考资料:https://segmentfault.com/q/1010000009164862/a-1020000009164891
2019-06-01 更新内容
针对该场景也可以采用深拷贝原对象,修改对应属性后,重新赋值给state中的原对象。
该方法在以上方法无法解决问题的前提下应用。
在开发项目时,遇到设置React组件中对象某个属性的问题,尝试多种错误方式后找到正确解决方式。还提到在2019年6月1日更新内容,可采用深拷贝原对象,修改属性后重新赋值给state中原对象,此方法在其他方法无效时应用。
1726





