countdown minus 2 every 1s. But if i clean up setTimeout, code run correctly. Can anyone explain? My result: https://www.youtube.com/watch?v=NUE-nSLJbiY
const tabs = ['posts', 'comments', 'albums'];
const [title, setTitle] = useState('');
const [posts, setPosts] = useState([]);
const [type, setType] = useState('posts');
const [show, setShow] = useState(false);
useEffect(() => {
fetch(`https://jsonplaceholder.typicode.com/${type}`)
.then(res => res.json())
.then(post => {
setPosts(post);
})
}, [type])
useEffect(() => {
document.title = title;
})
const [countdown, setCountdown] = useState(180);
useEffect(() => {
const id = setTimeout(() => {
setCountdown(prev => prev - 1);
console.log(countdown);
}, 1000);
// return () => {
// clearTimeout(id)
// }
})