import React, { useState } from 'react'; const Quantity = ({ todo }) => { const [count, setCount] = useState(+todo.count); function decrementCount() { setCount(count - 1) updateCount(count - 1) } function incrementCount() { setCount(count + 1) updateCount(count + 1) } // edit count function const updateCount = async (newCount) => { console.log("this is the newCount", newCount) try { const body = { "newCount" : newCount} const response = await fetch( `http://localhost:5000/todos/${todo.todo_id}`, { method: "PUT", headers: { "Content-Type": "application/json" }, body: JSON.stringify(body) } ); window.location = "/"; } catch (err) { console.error(err.message); } } return ( <> <button onClick={() => decrementCount(todo.todo_id)}>-</button> <span>{count}</span> <button onClick= {() => incrementCount(todo.todo_id)}>+</button> </> ) } export default Quantity;Creé una aplicación de contador, sin embargo, no puedo hacer que el incrementador y el decrementador funcionen correctamente, he intentado muchas cosas diferentes. Actualmente, cada vez que cambio el recuento, se eliminan los "elementos" en la columna de descripción. No entiendo cómo está pasando esto. Tengo mi carpeta actual para este proyecto en mi github en fruitlist versión 2 en mi github
El problema fue con su función de actualización en index.js . Aquí está el código actualizado:
app.put("/todos/:id", async (req, res) => { try { const { id } = req.params; - const { description } = req.body; + const { newCount } = req.body; const updateTodo = await pool.query( - "UPDATE todo SET description = $1 WHERE todo_id = $2", - [description, id] + "UPDATE todo SET count = $1 WHERE todo_id = $2", + [newCount, id] );