系统日期如何在页面展示,框架是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);
  }, []);
相关推荐
Glommer1 天前
某音 Js 逆向思路
javascript·逆向
街尾杂货店&1 天前
webpack - 单独打包指定JS文件(因为不确定打出的前端包所访问的后端IP,需要对项目中IP配置文件单独拿出来,方便运维部署的时候对IP做修改)
前端·javascript·webpack
月光技术杂谈1 天前
用Deepseek 实现一个基于web的扣图应用
前端·javascript·html5·ccs·tensorflow.js·canvas api
kevlin_coder1 天前
🚀 实现同一个滚动区域包含多个虚拟滚动列表
前端·javascript
金梦人生1 天前
JS 性能优化
前端·javascript
peachSoda71 天前
自定义配置小程序tabbar逻辑思路
javascript·vue.js·微信小程序·小程序
hbqjzx1 天前
记录一个自动学习的脚本开发过程
开发语言·javascript·学习
浪裡遊1 天前
React开发模式解析:JSX语法与生命周期管理
前端·javascript·react.js·前端框架·ecmascript
fruge1 天前
Vue 3 完全指南:响应式原理、组合式 API 与实战优化
javascript·vue.js·ecmascript
paopaokaka_luck1 天前
基于SpringBoot+Vue的数码交流管理系统(AI问答、协同过滤算法、websocket实时聊天、Echarts图形化分析)
vue.js·人工智能·spring boot·websocket·echarts