Untitled
unknown
plain_text
a year ago
783 B
2
Indexable
import { useEffect, useState } from "react"; export const Timer = () => { const [timer, setTimer] = useState(0); const [run, setRun] = useState(false); const handleStart = () => { setRun(true); }; const handleStop = () => { setRun(false); }; const handleReset = () => { setRun(false); setTimer(0); }; useEffect(() => { let i; if (run) { i = setInterval(() => { setTimer((prev) => prev + 1); }, 1000); } return () => { clearInterval(i); }; }, [run]); return ( <div> <h1>Timer</h1> <h4>Seconds: {timer} </h4> <button onClick={handleStart}>Start</button> <button onClick={handleStop}>Stop</button> <button onClick={handleReset}>Reset</button> </div> ); };
Editor is loading...
Leave a Comment