Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

162
Views
¿Cómo obtengo datos para recargar en un componente de React para mostrar los nuevos datos que se acaban de agregar?

Tengo una lista de tareas pendientes en mi sitio web que se ve así:

Lista de quehaceres

Cuando hago clic en el botón más, aparece una entrada y puedo agregar un elemento que agrega el elemento a la base de datos. El problema es que, si bien agrega el elemento a la base de datos, no aparece en la página web hasta que se actualiza la página. Este es el botón de agregar:

 <div> <input type="text" onChange={(e) => setItem(e.target.value)} /> <button onClick={() => itemHandler()}> Add </button> </div>

La función itemHandler simplemente actualiza la base de datos con el nuevo elemento pendiente:

 async function itemHandler() { setAddItem(false) const res = await fetch('/api/add-todo-item', { method: 'POST', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify({ user_id, item }), }) const json = await res.json() if (!res.ok) throw Error(json.message) setItem("") }

Pero cuando se ejecuta esta función, la base de datos se actualiza, pero el nuevo elemento no aparece en el sitio web hasta que se actualiza la página.

Los elementos de tareas pendientes se pasan inicialmente al componente funcional como un parámetro:

 function ToDoList( {user_id, todo_items} ) { ...

Entonces, ¿hay alguna forma de actualizar el componente y, al mismo tiempo, pasar una versión actualizada de los elementos de la base de datos al componente después de que itemHandler los agregue a la base de datos?

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

agregue try{...}catch(error){...} a su aplicación,

también use el gancho 'useState' como en algo como const [data,setData] = useState([]);

y actualízalo en el try para que lo veas en tu página.

about 4 years ago · Juan Pablo Isaza Report

0

Verifique la respuesta por favor,

Supongo que está obteniendo todos actualizados en la respuesta de esa solicitud.

Por lo tanto, significa que puede almacenar fácilmente los todos nuevos (todos antiguos, incluido el nuevo que acaba de agregar) en el estado de su aplicación, recorrerlos y renderizarlos :)

PD: si no los obtiene en su respuesta de solicitud POST, puede enviar una solicitud GET justo después de su solicitud POST para obtener todos los Todos.

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!