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

100
Visualizações
La página no se vuelve a cargar en el cambio de estado dentro de jsx

He visto varias preguntas con el mismo titulo pero no el mismo problema,

Escribí un código de reacción y dentro del jsx del método de retorno, dentro de select onchange llamé a una función que establece el estado pero la página no se recargará aunque me aseguré de que el estado cambie

código jsx dentro de retorno:

<select defaultValue={book.shelf} onChange={(e) => this.handleChange(e, book)}

código dentro del constructor

 constructor(props) { super(props); this.handleChange = this.handleChange.bind(this);}

código dentro del componente

 handleChange = (e, book) => { BooksAPI.update(book, e.target.value).then(this.setState( { value: e.target.value, book: book }, () => console.log(this.state.value) ));

};

Sabiendo que this.state.value se imprime correctamente y el valor se devuelve desde la API y es diferente del valor del estado anterior

Cual podría ser el problema,

Cualquier ayuda apreciada.

Editar: mi código de selección completo

 <select defaultValue={book.shelf} onChange={(e) => handleChange(e, book)}> <option value="move" disabled> Move to... </option> <option value="currentlyReading"> Currently Reading </option> <option value="wantToRead">Want to Read</option> <option value="read">Read</option> <option value="none">None</option> </select>

Edición 2:

este es mi estado

 state = { books: [], value: '', book: {}, update: false, };

Edición final:

Para evitar confusiones, el problema estaba en mi interfaz de usuario no relacionada con este código

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

el problema es este

 handleChange = (e, book) => { BooksAPI.update(book, e.target.value).then(this.setState( { value: e.target.value, book: book }, () => console.log(this.state.value) ));

cambiarlo a este

 handleChange = (e, book) => { BooksAPI.update(book, e.target.value).then(() => { this.setState( { value: e.target.value, book: book }, () => console.log(this.state.value) ) });
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