Разбирался с useEffect, решил на примере секундомера попрактиковаться. Итог - происходит черти что, счетчик постоянно ускоряется, и как-будто отсчитывается до нового значения заново от нуля каждую секунду, что происходит? почему так?
P.S. без useEffect тоже так работает
Код ниже:
import { useState, useEffect } from "react";
export default function Stopwatch(props) {
const [number, setNumber] = useState(0);
useEffect(() => {
setInterval(() => {
console.log("ticking");
setNumber((prevCount) => prevCount + 1);
}, 1000);
});
return (
<div className="stopwatch">
<h2>stopwatch</h2>
<div>{number}</div>
</div>
);
}