Estoy creando un proyecto de inventario utilizando ReactJS , ExpressJS y MongoDB , que es básicamente un proyecto CRUD. Mi proyecto funciona perfectamente para todas las operaciones excepto Eliminar. Cuando quiero eliminar un elemento, mi proyecto puede eliminar un elemento, pero siempre elimina el primer elemento de la lista. Cada vez que intento eliminar otros elementos, excepto el primer elemento, siempre elimina el primer elemento.
Aquí estoy dando mi código del lado del cliente:
const handleDelete = (id) => { const url = `http://localhost:5000/inventory/${id}`; fetch(url, { method: "DELETE", }) .then((res) => res.json()) .then((data) => { const remaining = products.filter((product) => product._id !== id); setProducts(remaining); }); };Envié esta función como accesorios en mi componente SingleItem y la agregué como eventHandler
Aquí estoy dando eventHandler Code:
<button onClick={() => handleDelete(_id)} type="button"> Delete </button>Ahora estoy dando mi código del lado del servidor:
app.delete("/inventory/:id", async (req, res) => { const id = req.params.id; const query = { _id: ObjectId(id) }; const result = await productCollection.deleteOne(query); res.send(result); });