MUI Date Pickers结合Dayjs报错:TypeError: pt.isUTC is not a function
错误成因分析:TypeError: pt.isUTC is not a function
问题场景
进入特定组件时触发错误:TypeError: pt.isUTC is not a function
已安装依赖版本
"@mui/lab": "^5.0.0-alpha.122", "@mui/material": "^5.10.15", "@mui/system": "^5.11.12", "@mui/utils": "^5.10.15", "@mui/x-data-grid": "^6.0.0", "@mui/x-date-pickers": "^6.0.2",
错误栈信息
TypeError: pt.isUTC is not a function at AdapterDayjs.getTimezone (AdapterDayjs.js:300:1) at AdapterDayjs.setTimezone (AdapterDayjs.js:312:1) at Object.setTimezone (valueManagers.js:29:1) at useValueWithTimezone.js:29:1 at Object.useMemo (react-dom.production.min.js:172:1) at react_production_min.useMemo (react.production.min.js:23:24) at useValueWithTimezone (useValueWithTimezone.js:29:1) at usePickerValue (usePickerValue.js:184:1) at usePicker (usePicker.js:21:1) at useDesktopPicker (useDesktopPicker.js:60:1) at DesktopDateTimePicker.js:86:1 at Ch (react-dom.production.min.js:157:1) at gi (react-dom.production.min.js:176:1) at ck (react-dom.production.min.js:271:1) at bk (react-dom.production.min.js:250:1) at ak (react-dom.production.min.js:250:1) at Tj (react-dom.production.min.js:250:1) at Lj (react-dom.production.min.js:243:1) at react-dom.production.min.js:123:1 at at.unstable_runWithPriority (scheduler.production.min.js:17:1) at gg (react-dom.production.min.js:122:1) at jg (react-dom.production.min.js:123:1) at ig (react-dom.production.min.js:122:1) at Jg (react-dom.production.min.js:237:1) at Oh (react-dom.production.min.js:170:1)
当前配置代码
import { LocalizationProvider } from '@mui/x-date-pickers'; import { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs';
错误成因
- 依赖版本不兼容:你使用的
@mui/x-date-pickers是v6版本,但@mui/material、@mui/utils等核心包停留在v5.10.x版本。MUI X v6要求所有MUI核心包(如@mui/material、@mui/utils)必须升级到v5.11.0及以上版本,版本不匹配会导致API调用时出现方法缺失的错误。 - Dayjs时区插件未安装/导入:
AdapterDayjs处理时区逻辑时依赖dayjs/plugin/utc和dayjs/plugin/timezone插件,如果没有安装这两个插件或者未在代码中导入并启用,Dayjs实例就不会有isUTC方法,从而触发该错误。
内容的提问来源于stack exchange,提问作者Ricardo Trejos
相关产品推荐
相关产品推荐

