Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

493
Views
¿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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!