Problema: he creado un modal en el que estoy haciendo la verificación del número de móvil. Quiero que el temporizador de OTP comience a hacer clic en el botón Send OTP , pero no sucede.
He usado useeffect() para crear un temporizador, pero de esa manera, el temporizador comienza a ejecutarse en la carga de la página, pero solo quiero que el temporizador comience al hacer clic en el botón Send OTP . ¿Cómo puedo hacer eso?
Estoy pegando el enlace del espacio aislado del Código para su referencia. Por favor guíame.
import React from 'react' import { useState, useEffect } from 'react'; const Timer = (props:any) => { const {initialMinute = 0,initialSeconds = 0} = props; const [ minutes, setMinutes ] = useState(initialMinute); const [seconds, setSeconds ] = useState(initialSeconds); useEffect(()=>{ let myInterval = setInterval(() => { if (seconds > 0) { setSeconds(seconds - 1); } if (seconds === 0) { if (minutes === 0) { clearInterval(myInterval) } else { setMinutes(minutes - 1); setSeconds(59); } } }, 1000) return ()=> { clearInterval(myInterval); }; }); return ( <div> { minutes === 0 && seconds === 0 ? null : <h1> {minutes}:{seconds < 10 ? `0${seconds}` : seconds}</h1> } </div> ) } export default Timer;