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

142
Views
addClass solo una vez al hacer clic en ReactJS

Hola, soy nuevo en ReactJS, así que estoy importando algunos de mis trabajos a mi proyecto y convirtiéndolos en componentes. Tengo un lapso que actúa como un botón con animaciones de fotogramas clave, pero cuando cargo la página, se anima. Una solución que tengo es hacer una .class.animation y dar la clase .animation en el primer clic. El caso es que sé codificarlo en jquery pero no en reaccionar.

La idea es convertir esto en reaccionar:

 $('.navTrigger').onClick(function () { $(this).addClass('animations'); });

Ahora mismo tengo esto:

 const [isActive, setActive] = useState("false"); const handleToggle = () => { setActive(!isActive); }; return ( <span onClick={handleToggle} className={`navTrigger ${isActive ? "" : "animations"} ${isActive ? "" : "active"}`}> <i></i> <i></i> <i></i> </span> );

Tengo una función en la que alterno la clase activa para ejecutar animaciones hacia atrás y hacia adelante.

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Lo que hace el código a continuación es en la carga web, el lapso comienza con la clase navTrigger. La primera vez que hace clic en él, se le dan animaciones y una clase activa. Y luego, si interactúas con él nuevamente, elimina la clase activa y deja las animaciones allí.

 function MenuButton() { const [isActive, setActive] = useState(false); const [animating, setAnimating] = useState(false); const handleToggle = () => { setActive(!isActive); setAnimating(true); }; return ( <span onClick={handleToggle} className={`navTrigger ${animating ? "animations" : ""} ${isActive ? "active" : ""}`}> <i></i> <i></i> <i></i> </span> ); }

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!