var timer = 0;
const [run, setRun] = useState(false);
useEffect(() => {
if (run) {
Toast.show("Timmer is running"+timer, Toast.LONG);
var interval = setInterval(() => { timer++; }, 1000);
} else {
Toast.show("Timmer is stopped"+timer, Toast.LONG);
clearInterval(interval);
}
}, [run]);
const runTimer = () => {
setRun(!run);
}
//JSX
<Text onPress={runTimer}
style={{fontSize: 18, color: 'black', zIndex: 11, fontFamily: 'Roboto-Bold',}}>
{timer}
</Text>
在这里,当我点击文本时,我需要计时器在我点击回来时启动和暂停,但它根本不更新计时器。
有人能帮我吗,谢谢。
计时器无法接收当前计时器值,我认为您可以将timer
声明为状态变量,然后将setInterval(() => { setTimer(prev=>prev+1 }, 1000);
声明为