【发布时间】:2023-03-11 21:36:01
【问题描述】:
我有以下带有多个对象数组的对象。我想知道如何使用 onClick 从列表中删除单个项目。
我知道我可以尝试使用拼接,但我不知道如何在这个对象形状中做到这一点
州
const [filters, setFilters] = useState(initialData || [])
我试过这样
HandleClick
const handleClick = () => {
const newState = filters
const index = newState[key].findIndex((a) => a.id === id)
if (index === -1) return
newState[key].splice(index, 1)
setFilters(newState)
}
数据对象
{
"services": [
{
"id": "1b975589-7111-46a4-b433-d0e3c0d7c08c",
"name": "Account"
},
{
"id": "91d4637e-a17f-4b31-8675-c041fe06e2ad",
"name": "Income"
}
],
"accountTypes": [
{
"id": "1f34205b-2e5a-430e-982c-5673cbdb3a68",
"name": "Investment"
}
],
"channels": [
{
"id": "875f8350-073e-4a20-be20-38482a86892b",
"name": "Chat"
}
]
}
点击渲染
<div onClick={handleClick}>
<Icon fileName="smallClose" />
</div>
【问题讨论】:
-
我们不做作业,不要在没有给出你尝试过的例子的情况下说“我不知道”
-
@Ernesto,对不起。我更新我的答案!
标签: javascript json reactjs multidimensional-array onclick