系统日期如何在页面展示,框架是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);
  }, []);
相关推荐
蒟蒻星球住民2 分钟前
web应用技术作业01
前端·javascript·firefox
协享科技23 分钟前
Vue 3 实现抖音式卡片滑动交互:从零到完整方案
前端·vue.js·交互·ai编程·英语·自考英语
_xaboy35 分钟前
开源Vue组件FormCreate通过 JSON 生成TinyVue表单
前端·vue.js·低代码·开源·json·表单设计器
吃阿茶搽2 小时前
源码剖析:Standard组件架构与底层实现原理
javascript
卤蛋fg62 小时前
给 vxe-table 设置全局默认参数:setConfig、setIcon 与 setTheme
vue.js
WebInfra2 小时前
TanStack Start 框架正式支持 Rsbuild
前端·javascript·前端框架
老王以为2 小时前
单仓库下的四十模块 —— React Monorepo 工程架构拆解
前端·react native·react.js
TrisighT2 小时前
uni-app鸿蒙原生应用开发实战(下):核心功能实现与技术细节
vue.js·harmonyos
竹林8182 小时前
被合约事件搞到失眠?我踩了三天坑,终于写出一份监听智能合约事件的实战指南
前端·javascript