小编col*_*408的帖子

使用挂钩(useState)从数组中删除对象

我有一个对象数组。我需要添加一个函数来从我的数组中删除一个对象,而无需使用“ 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)

预期:单击的项目将从列表中删除。
实际:整个列表将被删除,减去数组中的最后一项。

预先感谢您的任何投入!

typescript reactjs react-hooks

4
推荐指数
3
解决办法
2236
查看次数

标签 统计

react-hooks ×1

reactjs ×1

typescript ×1