React JS - 如何在对象内添加对象

Posted

技术标签:

【中文标题】React JS - 如何在对象内添加对象【英文标题】:React JS - How to add object inside object 【发布时间】:2018-07-16 18:14:23 【问题描述】:

我在构造函数中有这段代码:

constructor() 
    this.state = 
        recipient: 
          lat: -6.173752,
          lon: 106.8925773
        
    

我想将此添加到 recipient

var temp = 
  address: 'example street',
  phone: '+623123131321'

如何将临时变量添加到收件人

【问题讨论】:

【参考方案1】:

您可以使用扩展运算符覆盖您的状态

this.state = 
    recipient: 
        ...temp,
        lat: -6.173752,
        lon: 106.8925773
    

或者在构造函数之外使用setState

this.setState(prevState => (
   recipient: ...prevState.recipient, ...temp
))

【讨论】:

【参考方案2】:

您可以使用spread operator 来合并状态值

this.setState(prevState => (
    recipient: ...prevState.recipient, ...temp
))

【讨论】:

【参考方案3】:

一个更简单的解决方案是像这样直接将接收者当前状态解构为新状态。

this.setState(
    recipient: ...this.state.recipient, ...temp
)

【讨论】:

以上是关于React JS - 如何在对象内添加对象的主要内容,如果未能解决你的问题,请参考以下文章

如何在 React 状态下更新对象

JS教你如何在对象内任意位置插入任意属性

JS教你如何在对象内任意位置插入任意属性

如何在 React 中更改状态对象内的键状态? [复制]

如何在 React.js 中按字母顺序对数组中的对象进行排序

如何使用 webpack 从 React JS 中的外部 JS 文件导入对象