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

React新手求助:react-calendar单独函数中props显示undefined问题

React-Calendar onClickDay 传函数引用时 value 为 undefined 的问题解决

核心问题出在你定义的onClickDay函数没有正确接收react-calendar自动传递的参数。当你用匿名箭头函数时,显式声明了value和event参数,所以能拿到值;但直接传函数引用时,如果你的函数没接收这些参数,自然会出现value为undefined的情况。

错误示例(导致value undefined)

你可能写出了类似这样的代码:

import Calendar from 'react-calendar';

function MyCalendar() {
  // 错误:未接收react-calendar传递的value参数
  const onClickDay = () => {
    alert(`This is the value ${value}`);
  };

  return <Calendar onClickDay={onClickDay} />;
}

正确写法

只需要让你的onClickDay函数接收react-calendar传递的value和event参数即可:

import Calendar from 'react-calendar';

function MyCalendar() {
  // 正确:接收参数
  const onClickDay = (value, event) => {
    alert(`This is the value ${value}`);
  };

  return <Calendar onClickDay={onClickDay} />;
}

额外注意事项

  • 不要在传递函数时加括号(比如onClickDay={onClickDay()}),这会导致组件渲染时就立即执行函数,而非点击时触发,且返回值会被当作事件处理器(通常是undefined)。
  • 不管用箭头函数还是普通函数,只要正确接收参数就能正常工作,比如普通函数写法:
function onClickDay(value, event) {
  alert(`This is the value ${value}`);
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 20:33:14