Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

308
Visualizações
ReactJS: cómo obtener el valor de entrada del cuadro de aviso y actualizarlo a la base de datos

Estoy creando una aplicación MERN, quiero permitir que el usuario edite el nombre del alimento en el cuadro de aviso haciendo clic en el botón Edit .

Estaba siguiendo las instrucciones en este enlace: [https://stackoverflow.com/questions/54993218/reactjs-using-alert-to-take-input-from-user]

El problema es que cuando hago clic en el botón Edit y escribo el aviso, luego hago clic en Aceptar , recibirá el valor nulo por primera vez, pero no actualizará la base de datos.

Y luego, cuando hago clic en el botón Edit nuevamente, sin ingresar nada, luego presiono OK , recibirá el valor de la primera vez que lo ingresé y lo actualizará a la base de datos (como un retraso).

Lo que quiero es: cuando haga clic en el botón Edit , mostrará el cuadro de aviso y tomará el valor del cuadro de aviso y actualizará la base de datos cuando el usuario haga clic en Aceptar .

¿Hay alguna manera de que pueda arreglar esto? ¡Gracias a todos!

Aquí está mi demostración: gif

Aquí está mi código:

 function FoodListTable(props) { /* Definition of handleClick in component */ const [newFoodName, setNewFoodName] = useState("") const handleEdit = () => { const enteredFood = prompt('Please enter your new food:') setNewFoodName(enteredFood) console.log(newFoodName) if (newFoodName) { Axios.put("https://mern-lefood.herokuapp.com/update", { newFoodName: newFoodName, id: props.val._id }) } } return ( <button onClick={handleEdit}>Edit</button> ) }
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Reaccione this.setState y useState no realiza cambios directamente en el objeto de estado.

React this.setState y React.useState crean colas para que el núcleo de React actualice el objeto de estado de un componente de React.

Entonces, el proceso para actualizar el estado de React es asíncrono por razones de rendimiento. Es por eso que los cambios no se sienten inmediatos.

¡Prueba el siguiente código que funciona!

 function FoodListTable(props) { /* Definition of handleClick in component */ const [newFoodName, setNewFoodName] = useState(""); const handleEdit = () => { const enteredFood = prompt('Please enter your new food:'); setNewFoodName(enteredFood); if (enteredFood) { Axios.put("https://mern-lefood.herokuapp.com/update", { newFoodName: enteredFood, id: props.val._id }) } } return ( <button onClick={handleEdit}>Edit</button> ) }

Para más detalle Haga clic aquí

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda