我有一个对象数组。我需要添加一个函数来从我的数组中删除一个对象,而无需使用“ 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>
</>
)}
}
)
Run Code Online (Sandbox Code Playgroud)
预期:单击的项目将从列表中删除。
实际:整个列表将被删除,减去数组中的最后一项。
预先感谢您的任何投入!