从平面列表中删除项

wkftcu5l  于 2021-09-23  发布在  Java
关注(0)|答案(1)|浏览(327)

我需要创建一个从平面列表中删除项目的函数,下面是我正在使用的函数,但它没有删除该项目,而是再次添加相同的项目:

removeItem = (key) => {
    let filteredItems = this.state.workoutList.filter(item => item.key !== key);
    this.setState({ workoutList: filteredItems })
  }

当我运行终端时,它会显示以下内容:

Array [
  Object {
    "Friday": false,
    "Monday": true,
    "Saturday": false,
    "Sunday": false,
    "Thursday": false,
    "Tuesday": false,
    "Wednesday": false,
    "key": 0.3257222928276463,
    "workoutName": "",
  },
]
46qrfjad

46qrfjad1#

我认为不能直接更改状态变量,需要使用 Object.assign() 从状态复制此数组以对其进行操作。

removeItem = (key) => {
   let filteredItems = Object.assign([], this.state.workoutList).filter(item => item.key !== key);
   this.setState({ workoutList: filteredItems })
}

我应该做这项工作

相关问题