Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

100
Vistas
La tecla Intro/botón de envío no vuelve a renderizar el componente de reacción y muestra la salida
import { useState, useEffect } from "react"; import { ListItem } from "./ListItem"; export const TodoInput = props => { const [description, setDescription] = useState(""); const [todos, setTodos] = useState([]); const handleChange = event => { setDescription(event.target.value); }; const updateTodos = async () => { const response = await fetch("http://localhost:5000/todos"); const jsonData = await response.json(); setTodos(jsonData); }; useEffect(() => { updateTodos(); }, [description]); const handleSubmit = e => { e.preventDefault(); e.stopPropagation(); const body = { description }; fetch("http://localhost:5000/todos", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify(body), }); setDescription(""); }; return ( <> <div className="list-input"> <form onSubmit={handleSubmit}> <input value={description} onChange={handleChange} /> <button type="submit">Add todo</button> </form> </div> <div className="todo-list"> <ul> {todos.map(e => ( <ListItem todoItem={e} key={e.id} /> ))} </ul> </div> </> ); };

Tengo este componente de reacción que es básicamente un formulario que llama a una API cuando se envía. Tanto la tecla Intro como el botón Enviar funcionan bien, pero solo si usa ese método únicamente. Por ejemplo: si ingreso un elemento presionando el botón Enviar, aparece instantáneamente en la lista y si lo vuelvo a hacer, sucede lo mismo. Pero si luego escribo algo y presiono enter, el cuadro de texto se borra y el elemento se envía a través de la API a la base de datos, pero no aparecerá en la lista hasta que vuelva a escribir un carácter en el campo de entrada. ¿Tiene esto algo que ver con useEffect() que no se llama o es algo más?

about 4 years ago · Santiago Trujillo
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda