Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

299
Vistas
Cómo eliminar el detector de eventos cuando un accesorio es falso

Cuando bloqueo la declaración, el temporizador comienza después de 5 segundos de inactividad del mouse. Pero cuando la declaración está desbloqueada, no quiero que el temporizador siga funcionando. Sin embargo, en la depuración, cuando el accesorio isLocked es falso, ingresa en el otro, pero el evento no parece eliminarse, porque comienza después de 5 segundos de inactividad del mouse. Estoy usando react-timer-hook.

¿Tienes alguna sugerencia? Aquí está mi código

 function LockSection(props: ILockSection, expiryTimestamp: any, autoStart: boolean) { autoStart = false; expiryTimestamp = new Date(); expiryTimestamp.setSeconds(expiryTimestamp.getSeconds() + 75); const { seconds, minutes, start, restart, } = useTimer({ expiryTimestamp, onExpire: props.setLockedFunction, autoStart }); const resetStartTimer = () => { const time = new Date(); time.setSeconds(time.getSeconds() + 75); clearTimeout(0); restart(time, false); setTimeout(start, 5000); }; useEffect(() => { if (props.isLocked) { window.addEventListener('mousemove', resetStartTimer); } else { window.removeEventListener('mousemove', resetStartTimer); } return () => { window.removeEventListener('mousemove', resetStartTimer); }; }, [props.isLocked]); function lockStart() { props.setLockedFunction(); } function unlockStop() { props.setLockedFunction(); const time = new Date(); time.setSeconds(time.getSeconds() + 75); restart(time, false); } return ( <div className="lock-section"> {!props.isLocked && props.userCanLock && <Button variant="info" onClick={lockStart}>Edit Statement</Button>} {props.isLocked && props.userCanLock && <div className="locked-by-user"> <Button className="button-unlock" variant="info" onClick={unlockStop}>Unlock Statement</Button> <div className="form-control lockTimer">Timer&nbsp;{minutes < 10 && <span>0</span>}<span> {minutes}</span>: {seconds < 10 && <span>0</span>}<span>{seconds}</span></div> </div>} <TimerPopup triggerPopUp={minutes < 1} modalHeader={"Edit session is timing out"} modalBody={"Your changes will be lost."} /> {!props.userCanLock && <div className="form-control locked">Statement already locked by {props.lockedByUser}</div>} </div> ); }

Gracias

about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda