javascript - Array.map 使用箭头函数在 redux reducer 中返回 null

标签 javascript arrays redux

考虑这个项目数组:

items:[
 {
  _id: '111',
  quantity: 3
 },
 {
  _id: '222',
  quantity: 7
 }
]

我需要通过使用 Array#map 循环将值增加 1,并在箭头 => 之后使用大括号(请查看下面的代码),但这会使 myNewItems 为空,我猜这是因为变量 item 在途中丢失并最终 myNewItems 为 null

这就是我在 redux reducer 中迭代的方式

return {
  ...state,
  myNewItems: items.map((item) => {
    var itemId = '111'

    item._id == itemId ?
      {
        ...item,
        quantity: item.quantity + 1
      } :
      item
  })
}

现在这使得 myNewItems 为空,而不是像下面这样更新项目数组

items:[
 {
  _id: '111',
  quantity: 4 //has been incremented by 1
 },
 {
  _id: '222',
  quantity: 7
 }
]

我该如何度过这个难关?

最佳答案

您在 map 回调中缺少 return 语句。

items.map(
           (item) =>{
              var itemId = '111'
              return item._id == itemId?
              {...item, quantity: item.quantity + 1
              }:item
        })

关于javascript - Array.map 使用箭头函数在 redux reducer 中返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62747423/

相关文章:

javascript - OpenLayers 中图标的奇怪问题(svg 图标不显示,而类似的图标却显示)

php - 如何使用数组的多个键/值进行 SQL 查询?

C将字符串拆分为字符串数组

reactjs - 如何通过单击其他元素来添加和删除元素的类?在 React-redux 中

reactjs - 如何将 Phaser 集成到 React 中

javascript - Crockford - 第 8 章 - 第 86 页

javascript - Html/Css链接问题

javascript - 在 ASP.NET MVC 应用程序中的何处包含 javascript 运行时相关代码的最佳实践

java - 使用 JDBC 将短数组保存到 MySQL 数据库?

javascript - 状态未定义(reactJS)