import { useState, useEffect } from "react";
import "./styles.css";
export default function App() {
const [progress, setProgress] = useState(0);
let progressTimer;
function handleTime() {
if (progress <= 100) {
console.log("Progress: " + progress);
setProgress((prevState) => (prevState += 10));
} else {
console.log("greater");
clearInterval(progressTimer);
}
}
function handlePlay() {
console.log("Timer start");
progressTimer = setInterval(handleTime, 1000);
}
useEffect(() => {
handlePlay();
});
return (
<div className="App">
<h1>Hello CodeSandbox</h1>
{progress}
<h2>Start editing to see some magic happen!</h2>
</div>
);
}
Desired outcome: Go to 100, counting by 10 every 1 second. Once you reach over 100, turn off the timer.
Actual outcome: It just keeps going up and up, faster than 10 every 1 second.