You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:如何让我的Today按钮正常生效?附相关实现代码

问题分析与解决方案

你的Today按钮失效的核心原因是currently函数逻辑错误:它没有获取系统当前的真实日期,而是基于现有currentDay状态生成了一个完全相同的日期,所以点击后页面不会有任何变化。

正确实现Today按钮逻辑

直接创建无参数的Date实例即可获取当前系统时间,或者根据需求精确到当天起始时间:

方案1:获取当前完整系统时间(含时分秒)

const currently = () => {
  setCurrentDay(new Date());
};

方案2:精确到当天0点(时分秒清零)

const currently = () => {
  const today = new Date();
  setCurrentDay(new Date(today.getFullYear(), today.getMonth(), today.getDate()));
};

额外优化:避免直接修改状态对象

你的nextDay函数中使用了currentDay.setDate(),这个方法会直接修改原currentDay状态对象,可能导致React状态更新异常(React依赖状态引用变化触发重渲染)。建议改用函数式更新,基于前一次状态创建新对象:

const previousDay = () => {
  setCurrentDay(prevDay => new Date(prevDay.getFullYear(), prevDay.getMonth(), prevDay.getDate() - 1));
};

const nextDay = () => {
  setCurrentDay(prevDay => new Date(prevDay.getFullYear(), prevDay.getMonth(), prevDay.getDate() + 1));
};

内容的提问来源于stack exchange,提问作者0rbit

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 00:42:54