我想用 React 做一个倒计时器。它基本上是从 10 到 0 的倒计时,并且当计时到 0 时,我会调用一些函数。
我找到了一个非常适合我的例子:https://codesandbox.io/s/0q453m77nw?from-embed,但是它是一个类组件。我想使用函数式组件和 Hooks 实现,但是我做不到。
我尝试过:
我找到了一个非常适合我的例子:https://codesandbox.io/s/0q453m77nw?from-embed,但是它是一个类组件。我想使用函数式组件和 Hooks 实现,但是我做不到。
我尝试过:
function App() {
const [seconds, setSeconds] = useState(10);
useEffect(() => {
setSeconds(setInterval(seconds, 1000));
}, []);
useEffect(() => {
tick();
});
function tick() {
if (seconds > 0) {
setSeconds(seconds - 1)
} else {
clearInterval(seconds);
}
}
return (
<div className="App">
<div
{seconds}
</div>
</div>
);
}
export default App;
它很快地倒计时从10到0,而不是在10秒钟内倒数。我错在哪里了?