javascript - react redux reducer中缺少数组
问题描述
我正在尝试检查我的内部数组 id 是否与发送的 id 相同,表示例
{
_id :1,
name: sagar elias jacky
Amenities :[{ id: 100, title : hi },{ id: 101, title : hallo } ]
}
检查调度的 id 退出或不使用地图,
return { ...state,
items : {...state.items,
Amenities : { ...state.items.Amenities
.map(x=> x._id === action.dispatchedID ? {...x,deleting: true} : x ) }}}
但它会以非阵列设施返回,例如
Amenities:
0: { id: 100, title : hi },
1: { id: 101, title : hallo }
我想要这个
Amenities:Array(2)
0: { id: 100, title : hi },
1: { id: 101, title : hallo }
解决方案
当你在里面传播一个数组时{}
,它会创建一个数组索引为的对象keys
const array = [{a:1}, {a:2}]
console.log({...array})
所以,改变
Amenities : { ...state.items.Amenities
.map(x=> x._id === action.dispatchedID ? {...x,deleting: true} : x ) }
至:
Amenities : [ ...state.items.Amenities
.map(x=> x._id === action.dispatchedID ? {...x,deleting: true} : x ) ]
推荐阅读
- sql-server - 为什么使用 ado.net / EF 6 执行存储过程需要这么长时间?
- spring - Spring Statemachine - 隐式状态转换
- javascript - 角度排序数组作为另一个数组
- sql - SQL:选择一个预定义的列列表
- internet-explorer - SVG 徽标阴影属性在 IE 中不起作用
- angular - Protractor - E2E 测试仅在我将鼠标移到每个 Cucumber 场景的浏览器窗口上时开始
- sql - BEFORE 和 AFTER dml 操作有什么区别?(行级安全性)
- php - 如果文件夹为空,则创建文件
- javascript - 与 Iframe Angular 交互后的 Chrome 后退按钮问题
- http - 如何强制浏览器 http 请求中包含“主机”标头