系统日期如何在页面展示,框架是react或者vue3

  1. 安装插件dayjs或者moment.js

2.使用setInterval(useInterval)或者requestAnimationFrame

react项目中useInterval的代码示例:

复制代码
import React, {useState } from 'react';
import { useInterval } from "ahooks";
import moment from "moment";
const Datetimes = ({currenttime})=>{
    const [newtime,cnt]=useState(currenttime);
    useInterval(() => {
        cnt(moment().add(1, "seconds").format("YYYY-MM-DD HH:mm:ss"))
    }, 1000);
    return <span>{newtime}</span>
}

export default Datetimes;

vue3中setInterval示例:

复制代码
import { dayjs } from 'element-plus';
// 创建定时器
let intervalId;
const time = ref(dayjs().format('YYYY-MM-DD HH:mm:ss'));
onMounted(() => {
    intervalId = setInterval(() => {
        time.value = dayjs(time.value).add(1, "seconds").format("YYYY-MM-DD HH:mm:ss");
    }, 1000)
});
onUnmounted(() => {
    clearInterval(intervalId);
})

react项目中requestAnimationFrame示例:

复制代码
const [currentTime, setCurrentTime] = useState(dayjs());

  const updateClock = () => {
    setCurrentTime(dayjs()); // 更新时间
    requestAnimationFrame(updateClock); // 请求下一帧动画
  };

  useEffect(() => {
    requestAnimationFrame(updateClock); // 请求第一帧动画

    // 卸载组件时停止更新
    return () => cancelAnimationFrame(updateClock);
  }, []);
相关推荐
zhengxianyi5154 小时前
只需3句让Vue3 打包部署后通过修改配置文件修改全局变量——实时生效
vue.js·前后端分离·数据大屏·ruoyi-vue-pro优化
Miketutu7 小时前
Flutter学习 - 组件通信与网络请求Dio
开发语言·前端·javascript
摘星编程7 小时前
React Native for OpenHarmony 实战:Swiper 滑动组件详解
javascript·react native·react.js
鸣弦artha7 小时前
Flutter框架跨平台鸿蒙开发——Build流程深度解析
开发语言·javascript·flutter
QQ4022054968 小时前
python基于vue的大学生课堂考勤系统设计与实现django flask pycharm
vue.js·python·django
摘星编程9 小时前
React Native for OpenHarmony 实战:DisplayInfo 显示信息详解
android·react native·react.js
LongJ_Sir10 小时前
Cesium--可拖拽气泡弹窗(Vue3版)
javascript
跟着珅聪学java10 小时前
JavaScript 中定义全局变量的教程
javascript
哈哈你是真的厉害10 小时前
React Native 鸿蒙跨平台开发:FlatList 基础列表代码指南
react native·react.js·harmonyos
午安~婉11 小时前
整理知识点
前端·javascript·vue