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

React项目引入FullCalendar报TypeError: callback is not a function如何解决

问题描述

我尝试在React项目中引入Fullcalendar组件,按照官方文档指引写出了如下代码:

import React from "react";
import { Box } from "./general"
import FullCalendar from "@fullcalendar/react";
import dayGridPlugin from "@fullcalendar/daygrid";

function CalendarBox() {
    return (
        <Box title="Calendar">
            <FullCalendar 
                plugins={[ dayGridPlugin ]}
                initialView="dayGridMonth"/>
        </Box>
    )
}
export default CalendarBox

但渲染组件时抛出了如下错误:

Uncaught TypeError: callback is not a function
上述错误出现在以下组件中:
in CalendarDataProvider (created by FullCalendar)
in FullCalendar (created by CalendarBox)

我之后直接使用了官方文档的示例代码测试:

import React from 'react'
import FullCalendar from '@fullcalendar/react' // must go before plugins
import dayGridPlugin from '@fullcalendar/daygrid' // a plugin!

export default class DemoApp extends React.Component {
  render() {
    return (
      <FullCalendar
        plugins={[ dayGridPlugin ]}
        initialView="dayGridMonth"
      />
    )
  }
}

该代码在codeSandBox中可以正常运行,但放到我的本地项目中仍然报错,错误截图如下:
TypeError: callback is not a function

请问我哪里操作存在问题?
备注:我已经查阅了Stack Overflow上的多篇相关帖子,但这些帖子要么没有使用React版本的FullCalendar组件,要么错误是在添加日程事件时触发的,和我的问题场景不符。

解决方案

你可以按照以下优先级排查问题:

  • 首先确认所有FullCalendar相关依赖的版本完全一致。运行npm list @fullcalendar/react @fullcalendar/daygrid查看版本号,如果版本不匹配,统一安装相同版本的稳定版包即可,例如执行npm install @fullcalendar/react@6.1.15 @fullcalendar/daygrid@6.1.15,版本号可以替换为当前最新的官方稳定版。
  • 如果你使用的是React 18+版本,检查项目入口是否开启了React严格模式(<React.StrictMode>标签)。旧版本FullCalendar对React 18严格模式适配存在bug,你可以临时注释StrictMode标签测试,如果报错消失,直接升级FullCalendar到最新稳定版即可解决适配问题。
  • 排除依赖缓存损坏的影响:删除本地node_modules文件夹,以及package-lock.json、yarn.lock或pnpm-lock.yaml锁文件,再重新执行依赖安装命令。
  • 测试时先把FullCalendar组件直接挂载到根路由页面,排除你自定义的Box组件可能存在的属性劫持、参数注入逻辑带来的冲突。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 11:45:00