es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo hacer que un evento onclick ocurra automáticamente después de 2 minutos en ReactJS Typescript

Estoy planeando hacer que la función onClick de un botón sea automática después de 2 minutos. Este es mi botón actual y la función que estoy llamando es handleEventVideos.

¿Cómo puedo hacer que el botón se active automáticamente después de 2 minutos? Planeé crear una nueva función y llamar a handleEventVideos() dentro de ella, y luego pasar esa función en useEffect. Pero eso no funciona. ¿Alguien puede por favor ayudarme a hacer esto?

<button disabled="{isDisable}" type="submit" onclick="{()" ==""> handleEventVideos()}
  variant="contained"
  className={classes.doneButton}
>
  Done
</button>
Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para activar automáticamente el botón después de 2 minutos, puedes usar la función setTimeout en JavaScript. Aquí tienes un ejemplo de fragmento de código:

    import React, { useState, useEffect } from 'react';
    
    function App() {
      const [isDisable, setIsDisable] = useState(false);
    
      useEffect(() => {
        const timer = setTimeout(() => {
          document.getElementById('done-button').click(); // reemplaza 'done-button' con el ID real del botón
        }, 120000); // establece el tiempo de espera en 2 minutos (120000 milisegundos)
    
        return () => clearTimeout(timer); // limpia el temporizador cuando el componente se desmonta
      }, []);
    
      function handleEventVideos() {
        // lógica para manejar los videos del evento aquí
        setIsDisable(true);
      }
    
      return (
        <button id="done-button" disabled="{isDisable}" type="submit" onclick="{()" ==""> handleEventVideos()}
          variant="contained"
          className={classes.doneButton}
        >
          Hecho
        </button>
      );
    }
    
    export default App;
    

    En el código anterior, podemos ver que estamos configurando un temporizador utilizando la función setTimeout en el hook useEffect. Este temporizador se ejecutará después de 2 minutos y simulará un evento de clic en el botón. El ID del botón se utiliza para seleccionarlo con document.getElementById.

    Asegúrate también de limpiar el temporizador utilizando clearTimeout en la función return del hook useEffect para evitar posibles problemas de memoria.

    ¡Espero que esto ayude!

Comments are closed.