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?
 
     
    