【发布时间】:2021-05-14 01:53:46
【问题描述】:
在我的代码下面,我有一个计时器,它会在页面加载后立即开始倒计时。我正在尝试使用 onClick 在按下按钮后启动倒计时,但在页面加载后它仍在启动。如何让它启动 onClick?
import * as React from "react";
import { render } from "react-dom";
import { View, Switch, StyleSheet, Text, Button, TouchableOpacity } from "react-native";
import CircularProgressBar from '../components/CircularProgressBar';
function SimpleTimer() {
const [counter, setCounter] = React.useState(60);
function timer () {
React.useEffect(() => {
counter > 0 && setTimeout(() => setCounter(counter - 1), 1000);
}, [counter]);
}
return (
<View className="App">
<Text>Countdown: {counter}</Text>
<CircularProgressBar percent={counter}></CircularProgressBar>
<TouchableOpacity><Button style={styles.button} title='start timer' onPress={timer()}></Button></TouchableOpacity>
</View>
);
}
export default SimpleTimer;
【问题讨论】:
标签: reactjs react-native callback