我试图建立一个从0到100的简单百分比计数器,该计数器使用useEffect()中的SetInterval()更新自身。我可以使计数器工作,但是一旦计数器达到100%,我想重新启动计数器。这是我的代码:
const [percentage, setPercentage]=useState(0);
useEffect(() => {
const intervalId= setInterval(() => {
let per = percentage=> percentage+1
if(per>=100){
per=0
}
setPercentage(per)
}, 100);
return () => {
}
}, [])
在控制台内部,我可以看到状态正在增加,但是一旦它达到100,它将忽略if语句以将状态重置为0。我如何知道如果条件不适合使用钩子setState,该如何解决?
检查百分比而不是百分比。 Per是函数类型,永远不会大于或等于100,百分比是将达到100的值。