JavaScript
1
Вклад в тег
function Counter() {
const [count, setCount] = useState(0);
useEffect(() => {
const id = setInterval(() => {
setCount(count + 1); // Этот эффект зависит от переменной состояния `count`
}, 1000);
return () => clearInterval(id);
}, []); // Баг: `count` не указан в качестве зависимости
return <h1>{count}</h1>;
}
function Counter() {
const [count, setCount] = useState(0);
useEffect(() => {
const id = setInterval(() => {
setCount(c => c + 1); // ✅ Эта строчка не зависит от внешней переменной `count`
}, 1000);
return () => clearInterval(id);
}, []); // ✅ Наш эффект не использует никаких переменных из области видимости компонента
return <h1>{count}</h1>;
}