![](/img/trans.png)
[英]Arrow functions, .bind or argThis for Array.map()? garbage collection + performance
[英]Array.map returns null in a redux reducer using arrow functions
考慮這個項目數組:
items:[
{
_id: '111',
quantity: 3
},
{
_id: '222',
quantity: 7
}
]
我需要通過使用Array#map
和 CURLY BRACES 沿着箭頭 => 循環來將值增加 1(請看下面的代碼),但這使得 myNewItems null,我猜這是因為變量 item 在最終以 myNewItems 為 null
這就是我在 redux 減速器中迭代的方式
return {
...state,
myNewItems: items.map((item) => {
var itemId = '111'
item._id == itemId ?
{
...item,
quantity: item.quantity + 1
} :
item
})
}
現在這使得 myNewItems 成為 null 而不是像下面這樣更新項目數組
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
})
map 高階 function 中缺少返回試試這個
return item._id == itemId
?{...item, quantity: item.quantity + 1}
:item
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.