javascript - React 如何向现有状态添加新的动态键?

标签 javascript reactjs

我已从数据库中以数组形式获取数据。 所以现在我得到这样的数组:

orders:[
{
_id:1,
name: honda,
}
{
_id:2,
name: suzuki,
}
{
_id:3,
name: audi,
}
]

所以我的问题是如何将新的键值附加到数组,所以它需要如下所示:

orders:[
{
_id:1,
name: honda,
opened:true,
}
{
_id:2,
name: suzuki,
opened:true,
}
{
_id:3,
name: audi,
opened:true,
}
]

现在我正在尝试使用此代码,但这不起作用:

getOrders(orders).then(response => {
        response.map(itm=>{
            const ordersData=[...itm]
            const opened={opened:true}
            this.setState({
                openedOrders: [ordersData,opened]
            })
        })
}) 

openedOrders 是我创建的新状态对象。 对此最好的解决方案是什么? 谢谢

最佳答案

你的 map 应该是这样的。 (注意map函数中的return语句)

orders.map(item=> {
  return {...item, opened:true}  

})

所以你的函数可能看起来像

getOrders(orders).then(response => {
   let openedOrders =  orders.map(item=> {
       return {...item, opened:true}  
     })
   this.setState({
     openedOrders
   })

}) 

关于javascript - React 如何向现有状态添加新的动态键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55041732/

相关文章:

javascript - Edge 浏览器中的 focus()

javascript - 从 fetch() 返回 html 并显示给用户

reactjs - 如何在样式组件中使用联合选择器

javascript - 单击标签时单选按钮不检查

javascript - 如何基于 bool 属性有条件地在 ReactJS 中应用嵌套的 SCSS 类?

javascript - 如何使用 jQuery 删除变量上的 '_' 前缀?

javascript - Angular 下拉菜单从硬编码数据切换到来自服务的实时数据

java - 如何组织一个java web项目?

javascript - 如何在 Material-UI 中插入新行?

javascript - 以函数式风格编写 React 组件