当前位置:首页 > React

使用react实现时钟

2026-01-27 10:35:50React

使用react实现时钟

使用 React 实现时钟

方法一:使用 useState 和 useEffect 实现动态时钟

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

function Clock() {
  const [time, setTime] = useState(new Date());

  useEffect(() => {
    const timerID = setInterval(() => {
      setTime(new Date());
    }, 1000);

    return () => {
      clearInterval(timerID);
    };
  }, []);

  return (
    <div>
      <h1>当前时间:</h1>
      <h2>{time.toLocaleTimeString()}</h2>
    </div>
  );
}

export default Clock;

方法二:使用类组件实现时钟

import React from 'react';

class Clock extends React.Component {
  constructor(props) {
    super(props);
    this.state = { time: new Date() };
  }

  componentDidMount() {
    this.timerID = setInterval(
      () => this.tick(),
      1000
    );
  }

  componentWillUnmount() {
    clearInterval(this.timerID);
  }

  tick() {
    this.setState({
      time: new Date()
    });
  }

  render() {
    return (
      <div>
        <h1>当前时间:</h1>
        <h2>{this.state.time.toLocaleTimeString()}</h2>
      </div>
    );
  }
}

export default Clock;

方法三:自定义格式显示时间

function formatTime(date) {
  const hours = date.getHours();
  const minutes = date.getMinutes();
  const seconds = date.getSeconds();
  return `${hours}:${minutes < 10 ? '0' + minutes : minutes}:${seconds < 10 ? '0' + seconds : seconds}`;
}

// 在以上任一组件中使用
function Clock() {
  // ...
  return (
    <div>
      <h1>自定义格式时间:</h1>
      <h2>{formatTime(time)}</h2>
    </div>
  );
}

方法四:添加日期显示

function Clock() {
  // ...
  return (
    <div>
      <h1>当前日期和时间:</h1>
      <h2>{time.toLocaleDateString()} {time.toLocaleTimeString()}</h2>
    </div>
  );
}

方法五:使用第三方库(如 moment.js)

import moment from 'moment';

function Clock() {
  const [time, setTime] = useState(moment());

  useEffect(() => {
    const timerID = setInterval(() => {
      setTime(moment());
    }, 1000);

    return () => clearInterval(timerID);
  }, []);

  return (
    <div>
      <h1>Moment.js 格式:</h1>
      <h2>{time.format('YYYY-MM-DD HH:mm:ss')}</h2>
    </div>
  );
}

标签: 时钟react
分享给朋友:

相关文章

react如何下载

react如何下载

安装 React 的步骤 通过 npm 或 yarn 安装 React,确保已安装 Node.js(版本建议 ≥ 14.0.0)。打开终端或命令行工具,运行以下命令: npx create-reac…

vscode如何配置react

vscode如何配置react

配置 VSCode 进行 React 开发 安装必要插件 ES7+ React/Redux/React-Native snippets:提供 React 代码片段快速生成功能。 Prettier -…

react如何同步修改

react如何同步修改

同步修改状态的常见方法 在React中同步修改状态通常涉及使用useState或useReducer钩子,结合React的批处理机制确保状态更新的一致性。以下是几种典型场景的解决方案: 直接使用us…

如何升级react native

如何升级react native

升级 React Native 的步骤 检查当前版本 运行以下命令查看当前项目的 React Native 版本: react-native --version 更新 React Native CL…

react如何引入jq

react如何引入jq

在React中引入jQuery的方法 React和jQuery可以共存,但需要注意避免直接操作DOM,因为React有自己的虚拟DOM机制。以下是几种引入jQuery的方式: 通过npm安装jQue…

react如何实现混入

react如何实现混入

在React中实现混入(Mixin)功能可以通过以下几种方式实现,React官方已不推荐使用传统的React.createClass混入方式,但可通过高阶组件或自定义Hook替代。 高阶组件(HOC…