我有一个对象数组。我需要添加一个函数来从我的数组中删除一个对象,而不使用“this”关键字。
我尝试使用updateList(list.slice(list.indexOf(e.target.name, 1)))
. 这将删除数组中除最后一项之外的所有内容,我不确定为什么。
const defaultList = [
{ name: "ItemOne" },
{ name: "ItemTwo" },
{ name: "ItemThree" }]
const [list, updateList] = useState(defaultList);
const handleRemoveItem = e => {
updateList(list.slice(list.indexOf(e.target.name, 1)))
}
return (
{list.map(item => {
return (
<>
<span onClick={handleRemoveItem}>x </span>
<span>{item.name}</span>
</>
)}
}
)
预期:单击的项目将从列表中删除。
ACTUAL:删除整个列表,减去数组中的最后一项。
提前感谢您的任何意见!