系统日期如何在页面展示,框架是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);
  }, []);
相关推荐
coderHing[专注前端]3 分钟前
告别 try/catch 地狱:用三元组重新定义 JavaScript 错误处理
开发语言·前端·javascript·react.js·前端框架·ecmascript
UIUV19 分钟前
JavaScript中this指向机制与异步回调解决方案详解
前端·javascript·代码规范
momo10019 分钟前
IndexedDB 实战:封装一个通用工具类,搞定所有本地存储需求
前端·javascript
San3026 分钟前
从零到一:彻底搞定面试高频算法——“列表转树”与“爬楼梯”全解析
javascript·算法·面试
JellyDDD41 分钟前
h5上传大文件可能会导致手机浏览器卡死,重新刷新的问题
javascript·上传文件
爱分享的鱼鱼1 小时前
对比理解 Vue 响应式 API:data(), ref、reactive、computed 与 watch 详解
前端·vue.js
JS_GGbond2 小时前
【性能优化】给Vue应用“瘦身”:让你的网页快如闪电的烹饪秘籍
前端·vue.js
T___T2 小时前
一个定时器,理清 JavaScript 里的 this
前端·javascript·面试
代码小学僧2 小时前
从 Arco Table 迁移到 VTable:VTable使用经验分享
前端·react.js·开源
San302 小时前
深度驱动:React Hooks 核心之 `useState` 与 `useEffect` 实战详解
javascript·react.js·响应式编程