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

React引入@material-ui/icons/FileUpload报模块未找到如何解决

报错原因
  • 版本不匹配:你安装的是v4版本的@material-ui/icons(版本号4.11.3),这个版本的图标库中不存在FileUpload这个图标,对应的文件上传类图标名为CloudUpload。FileUpload图标是MUI v5版本(包名已改为@mui/*系列)才新增的图标,从不存在的模块路径导入自然触发找不到模块的报错。
  • 导入写法错误:即使对应图标存在,你写的import { FileUploadIcon } from '@material-ui/icons/FileUpload'写法也有问题:@material-ui/icons的子路径文件是默认导出单个图标组件,不支持花括号的具名导入写法。
修复方案

你可以根据自己的需求二选一:

方案1:不升级现有v4依赖(改动最小)

直接使用v4版本内置的CloudUpload图标替代不存在的FileUpload即可,不需要修改依赖版本。
修改导入代码:

// 替换原来的FileUpload导入语句
import CloudUploadIcon from '@material-ui/icons/CloudUpload';

修改使用代码,替换图标组件,顺带修正JSX的属性错误(for是JS保留字,React中需要写成htmlFor):

<input type="file" id="file" onChange={checkJSON}/>
<label htmlFor="file">
  <CloudUploadIcon />
  Choose a JSON file
</label>

方案2:升级到MUI v5使用FileUploadIcon

如果你必须使用FileUpload图标,可以升级到MUI v5版本:

  • 先卸载旧版本依赖:
npm uninstall @material-ui/core @material-ui/icons
  • 安装v5版本所需依赖:
npm install @mui/material @mui/icons-material @emotion/react @emotion/styled
  • 修改导入语句为新版包路径:
import FileUploadIcon from '@mui/icons-material/FileUpload';

之后就可以正常在JSX中使用<FileUploadIcon />组件了。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 04:36:16