【问题标题】:Delete an Item in a Nested Object in Redux State在 Redux 状态下删除嵌套对象中的项
【发布时间】:2020-05-21 06:04:01
【问题描述】:

我正在尝试删除处于嵌套状态的项目,但我不知道如何实现。

数据结构

{
 property: {
  "_id" : "52",
  "name" : "random",
  "options" : ["item1", "item2", "item3"]
 }
}

要删除一个属性,我只是像这样进行比较,它正在工作

property: state.property.filter(data => data._id !== action.propertyId),

但问题是当我想删除选项数组的一项时,如何删除一项并比较值

【问题讨论】:

  • 您的预期输出是什么?我的意思是你期待什么结果?你想做什么?
  • 你想在这里实现什么?您正在使用 .filter 这是数组的方法。而你的property 是对象。 .filter 只能与数组一起使用
  • @ArchitGarg 我想删除一个数组选项,场景是当我点击一个按钮时,数组的项必须被删除,但在我当前的场景中,我必须刷新页面查看数据变化
  • @AbhinabRajopadhyaya 当我想删除该属性时,过滤器方法按预期工作,我在这里使用它只是为了说明我的例子
  • @Beloved 你可以这样做 - state.property.data.filter(data => data !== action.dataId)

标签: javascript arrays reactjs redux react-redux-form


【解决方案1】:

也许你正在寻找下面...

let state = {
  "property": {
    "_id": "52",
    "name": "random",
    "options": ["item1", "item2", "item3"]
  }
}

state.property.options = state.property.options.filter(ele => ele !== "item2")

console.log(state)

【讨论】:

  • 它不工作,它给了我错误 TypeError: state.forEach is not a function
  • state的类型是什么?
  • 再次更新答案
  • 状态类型是一个对象,对象“属性”有 3 个字段 {_id、name 和 options 这是一个数组},我想删除单个选项项,而不是整个对象属性
猜你喜欢
  • 2021-03-18
  • 1970-01-01
  • 2016-12-25
  • 1970-01-01
  • 2019-04-28
  • 2021-05-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多