react组件中设置state中对象的的某个属性

在开发项目时,遇到设置React组件中对象某个属性的问题,尝试多种错误方式后找到正确解决方式。还提到在2019年6月1日更新内容,可采用深拷贝原对象,修改属性后重新赋值给state中原对象,此方法在其他方法无效时应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用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中的原对象。
该方法在以上方法无法解决问题的前提下应用。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值