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

485
Visualizações
¿Cómo puedo evitar que el botón active el otro botón cuando hago clic en él? &Reaccionar

Mi problema es que cuando hago clic en mi botón visto, también activa el botón del controlador. ¿Cómo puedo prevenir eso?

Aquí está mi código de botones: HTML:

 <div className="bot"> <button id="handler" onClick={() =>{handleClick(0)}}>PICK IT</button> <button id="watched" onClick={() =>{watched()}}>I Already Watched This</button> <a href={data.trailer} target = "_blank" className = "button">WATCH TRAILER</a> </div>

Reaccionar y Firebase parte:

 function watched(){ const db = getDatabase(app); update(ref(db,"users/" + userInfo + "/watched/" + data.id),{"watched" : "true"}); } function handleClick(val){ if (val >= 250){return 1;} const numberOfUsers = 250; const randomIndex = Math.floor(Math.random() * numberOfUsers); const database = getDatabase(app); const watched = ref(database,"users/" + userInfo + "/watched/" + randomIndex); onValue(watched,(snapshot) =>{ if (snapshot.val().watched === "true"){ handleClick(val+1) } else{ const starCountRef = ref(database, 'movies/'); onValue(starCountRef, (snapshot) => { const data = snapshot.val(); setData(data[randomIndex]) });} })
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Simplemente agregue el evento dentro de la función onClick={(e) =>{handleClick(e, 0)} . Al agregar este evento, evitará que se active el botón sin un clic real.

about 4 years ago · Juan Pablo Isaza Relatório

0

Resolví el problema así:

 function handleClick(val){ console.log("handlerrr"); if (val >= 250){return 1;} const numberOfUsers = 250; const randomIndex = Math.floor(Math.random() * numberOfUsers); const database = getDatabase(app); const watched = ref(database,"users/" + userInfo + "/watched/" + randomIndex); onValue(watched,(snapshot) =>{ const val = snapshot.val() <-------- THIS LINE ADDED if (val === "true"){ handleClick(val+1) } else{ const starCountRef = ref(database, 'movies/'); onValue(starCountRef, (snapshot) => { const data = snapshot.val(); setData(data[randomIndex]) });} })

No estoy seguro, pero probablemente el problema fue cuando onValue funcionó después de que mi función handleClick estaba escuchando mi base de datos y después de cada actualización en mi base de datos se activaba. Así que agregué const val = snapshot.val() ahora solo se está procesando 1 vez.

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