Material-UI Next卡片示例图片无法显示的问题求助
解决Material-UI卡片示例本地运行图片不显示的问题
我之前也踩过这个坑!你推测的方向完全正确——问题就出在图片的路径配置上。Material-UI官网示例里的图片路径是他们自己部署环境的静态资源路径,你的本地项目里没有对应的文件,自然加载不出来,而且因为只是资源404但没触发JS错误,所以控制台也没报错。
下面给你两种可行的解决方案:
方案一:本地放置图片并修改路径
- 获取示例图片:你可以找到这张蜥蜴图片(直接搜索下载或去Material-UI的代码仓库里提取),把它保存到你的项目静态资源目录里。
- 如果是Create React App创建的项目,默认静态资源目录是
public,需要在public下新建static/images/cards文件夹,将图片命名为contemplative-reptile.jpg放进去。
- 如果是Create React App创建的项目,默认静态资源目录是
- 调整代码路径:修改
CardMedia组件的image属性为匹配本地资源的路径:
<CardMedia className={classes.media} image="/static/images/cards/contemplative-reptile.jpg" title="Contemplative Reptile" />
(如果你的项目不是Create React App,要根据自身静态资源打包规则调整,比如资源放在src/assets下的话,路径要改成../assets/images/contemplative-reptile.jpg这类相对组件的路径)
方案二:直接使用在线图片URL(快速测试用)
要是你只是想快速看到效果,不想下载图片,可以直接把image属性替换成图片的在线地址:
<CardMedia className={classes.media} image="https://material-ui.com/static/images/cards/contemplative-reptile.jpg" title="Contemplative Reptile" />
这种方式能直接加载官网的图片,适合快速验证功能,但正式项目还是建议把图片放在本地资源目录里。
另外可以通过浏览器开发者工具的「网络」标签页确认:刷新页面后看图片资源的请求状态,肯定是404,这也能进一步佐证是路径问题导致的资源找不到。
内容的提问来源于stack exchange,提问作者Yamoshi Wolverine
相关产品推荐
相关产品推荐

