在React中,可以使用useStateuseEffect来实现一个点击按钮倒计时页面展示的功能。

首先,我们需要在组件中定义一个状态变量count来存储倒计时的时间。然后,使用useState来初始化count的初始值为0,并定义一个函数setCount来更新count的值。

import React, { useState, useEffect } from 'react';

function Countdown() {
  const [count, setCount] = useState(0);

  useEffect(() => {
    // 每次count的值发生变化时,执行这里的代码
    if (count > 0) {
      // 使用定时器每隔1秒减少count的值
      const timer = setTimeout(() => {
        setCount(count - 1);
      }, 1000);

      // 清除定时器
      return () => clearTimeout(timer);
    }
  }, [count]);

  const handleButtonClick = () => {
    // 当按钮被点击时,将count的值设置为10
    setCount(10);
  };

  return (
    <div>
      <h1>{count}</h1>
      <button onClick={handleButtonClick}>Start Countdown</button>
    </div>
  );
}

export default Countdown;

在上面的代码中,我们通过useEffect钩子函数监听count的变化。当count的值大于0时,使用setTimeout设置一个定时器,每隔1秒减少count的值。同时,通过返回一个清除定时器的函数来确保在组件被销毁时清除定时器。

当按钮被点击时,handleButtonClick函数会被调用,将count的值设置为10,从而开始倒计时。

最后,将Countdown组件渲染到页面中即可。

import React from 'react';
import Countdown from './Countdown';

function App() {
  return (
    <div>
      <Countdown />
    </div>
  );
}

export default App;

这样,当页面加载时,会显示一个初始值为0的倒计时。当点击按钮时,倒计时会开始,并在每秒钟减少1

在react中点击按钮倒计时页面展示

原文地址: https://www.cveoy.top/t/topic/iYnd 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录