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

升级至MUI5后导入TextField报Object(...) is not a function错误如何解决

报错排查与解决方案

第一步:清理依赖冲突

你同时安装了beta版的@material-ui/core、@material-ui/styles和正式版的@mui/material,MUI 5正式版已经把包名统一切换到@mui scope下,旧beta包和正式包共存会导致依赖冲突,这是最核心的原因。

  • 执行卸载命令移除旧的beta依赖:
npm uninstall @material-ui/core @material-ui/styles
# 用yarn的话执行 yarn remove @material-ui/core @material-ui/styles
  • 清空node_modules和lock文件避免缓存:
rm -rf node_modules package-lock.json yarn.lock
  • 重新安装依赖:
npm install
# 或者yarn install

第二步:升级不兼容的工具版本

你当前用的babel-loader@7.1.1是适配babel 6的版本,和你安装的@babel/core 7.x不兼容,需要升级babel-loader到8.x版本:

npm install babel-loader@8 --save-dev
# 或者yarn add babel-loader@8 --dev

第三步:调整Babel配置

给@babel/preset-react添加运行时配置,确保JSX转换适配React 17的新JSX转换规则,修改babel配置如下:

"babel": {
  "presets": [
    "@babel/preset-env",
    ["@babel/preset-react", { "runtime": "automatic" }]
  ]
},

第四步:可选-手动处理Emotion依赖冲突

如果执行完上面三步还有报错,是因为子依赖的stylis版本不兼容,手动锁定stylis版本到4.x即可:

  • 如果你用npm,在package.json里添加:
"overrides": {
  "stylis": "^4.0.0"
}
  • 如果你用yarn,在package.json里添加:
"resolutions": {
  "stylis": "^4.0.0"
}

修改完成后重新安装依赖即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 02:06:04