I'm learning react and making todo app and etc. but all the tutorial only shows using filter to remove items in array. I'll show you simple code.
const ProductItem = () => {
const [users, setUser] = useState([
{ id: 1, name: "jenny" },
{ id: 2, name: "tom" },
{ id: 3, name: "juan" },
]);
const removeUser = (user) => {
//this is filter way
// let newList = users.filter((x) => x.id !== user.id);
// setUser([...newList]);
//this is delete item by index way
users.splice(users.indexOf(user), 1);
setUser([...users]);
};
return (
<div>
{users &&
users.map((x) => (
<div key={x.id}>
<li>{x.name}</li>
<button onClick={() => removeUser(x)}>remove</button>
</div>
))}
</div>
);
};
export default ProductItem;
and both way is working correctly , but I just wonder if there's any reason that peoples using filter way?