将属性添加到对象数组 React Native

Posted

技术标签:

【中文标题】将属性添加到对象数组 React Native【英文标题】:Add property to array of objects React Native 【发布时间】:2020-08-09 23:47:18 【问题描述】:

我使用一个调用 API 的库,该 API 返回一个对象数组:

new Promise((resolve) => 
  Kit.getSamples(walkingSample, (err, results) => 
    if (err) 
      return resolve([])
    
    this.setState(
      ActivityItem: results
    )
  )
)

其中 ActivityItem 是一个在 state 中定义的空数组。现在,这将返回如下内容:

[
    "end": "2020-04-25T21:45:00.000+0200",
    "quantity": 11,
    "sourceName": "Health",
    "start": "2020-04-25T21:45:00.000+0200",
    "tracked": false
  ,
  
    "end": "2020-04-25T21:41:00.000+0200",
    "quantity": 21,
    "sourceName": "Health",
    "start": "2020-04-25T21:41:00.000+0200",
    "tracked": false
  
]

这是 API 返回的内容,也是存储在我的 ActivityItem 数组中的内容。但除了 API 返回的内容之外,我还需要再添加一个属性,例如“名称”,以区分未来的不同调用。我想知道是否有任何方法可以向该数组添加一些属性,使其看起来像这样:

[
    "name": 'Walking',
    end ": "
    2020 - 04 - 25 T21: 45: 00.000 + 0200 ", "
    quantity ": 11, "
    sourceName ": "
    Health ", "
    start ": "
    2020 - 04 - 25 T21: 45: 00.000 + 0200 ", "
    tracked ": false, 
      "name": 'SomeOther',
      "end": "2020-04-25T21:41:00.000+0200",
      "quantity": 21,
      "sourceName": "Health",
      "start": "2020-04-25T21:41:00.000+0200",
      "tracked": false
    ]

【问题讨论】:

【参考方案1】:

您可以使用 map 生成一个新数组并为每个对象添加一个属性:

const newData = data.map(item => return  ...item, name: 'Walking );

【讨论】:

以上是关于将属性添加到对象数组 React Native的主要内容,如果未能解决你的问题,请参考以下文章

将对象数组中的值与 React Native/Javascript 中的字符串进行比较

在 React Native 中向数组添加新对象

如何映射一组对象,删除一个并将我的状态设置为 react-native 中的新数组?

在 React Native 中动态添加项目到 FlatList

在 React Native 中更新嵌套状态对象?

React-native Navigation 添加汉堡包图标