Задача

Счётчик должен увеличиваться каждую секунду, но застревает на 1. Найти и исправить причину.

function Timer() {
    const [count, setCount] = useState(0);
 
    useEffect(() => {
        const id = setInterval(() => {
            setCount(count + 1); // застревает на 1
        }, 1000);
 
        return () => clearInterval(id);
    }, []); // эффект создаётся один раз
 
    return <p>{count}</p>;
}

Проблемы

Решение

См. также