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

114
Visualizações
La función de estado de react.js solo reacciona al cambio de estado cuando se llama desde el botón pero no desde la función

Tengo este estado y lo paso a ChatIO

 var [chatRoomIDs, setIDofRoom ] = React.useState(0); const changeChatRoomID = (id) => { setIDofRoom(chatRoomIDs = id); // write new state to state name. this function can be handed down to any component } return ( <div className="container"> <ChatIO chatroomID={chatRoomIDs} chatRoomFunction={changeChatRoomID}/> </div> )

Cuando estoy en ChatIO y hago esto:

 <Button onClick={() => props.chatRoomFunction(100283100)}variant="contained">senden</Button>

Todo funciona bien. El estado se cambia a ID 100283100 y react reacciona al cambio de estado.

Pero cuando hago esto:

 <Button onClick={() => buttonClick()}variant="contained">senden</Button> function buttonClick() { SendMessage() props.chatRoomFunction(100283100) }

Se llama a la función del padre (puedo ver con la ayuda de alertas) pero reaccionar NO reacciona al cambio de estado.

¿Cómo puedo alterar mi código que reacciona reacciona (odio decir eso una y otra vez)... al cambio de estado cuando se llama desde dentro de una función NO desde un clic de botón?

*** PEQUEÑA EDICIÓN ***

Descubrí que a veces vuelve a renderizar el componente ya veces no. Así que debo estar haciendo algo extraño aquí.

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

0

Lo que sea.js

 var [chatRoomIDs, setIDofRoom ] = React.useState(0); return ( <div className="container"> <ChatIO chatroomID={chatRoomIDs} chatRoomFunction={setIDofRoom}/> </div> )

ChatIO.js

 const ChatIO = (props) => { function changeChatRoomId(id) { // sendMessage() // props.chatRoomFunction(100283100) // but you probably want that props.chatRoomFunction(id) } return ( <Button onClick={() => changeChatRoomId(100283100`enter code here`)}variant="contained">senden</Button> ) }
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