解决react使用<img>时图像不显示问题,内附代码和解释

在react项目开发时,遇到了使用标签时图像不显示的问题,具体表现如下图所示。
在这里插入图片描述
代码为:

function App() {
  return (
    <div>
      <img src='imgs/动态按钮.png'/>
    </div>
  )
}

为父元素div添加宽和高,或者为img元素添加宽和高都不能解决问题。

最终发现问题源自项目结构。

本项目是使用create-react-app创建的,其中存在public文件目录,index.html文件入口就在该目录中,因此当把图片等静态文件放到此目录中时,可以采用上面所写的代码直接读取到对应的文件。

在实际开发中,我们的代码被写入和public同级的src文件目录中,此时如果直接使用上面的代码方式,相对路径无法读取到对应的文件。因此,需要使用import引入文件的方法对文件进行读取。使用两种方法读到的文件路径如下图所示。

方法1: 图片放入public文件夹中

function App() {
  return (
    <div>
      <img src='动态按钮.png'/>
    </div>
  )
}

在这里插入图片描述
在这里插入图片描述

方法二: import方式引入/src/imgs中的图片

当前文件在src中,与imgs同级。src与public同级。

import buttonimage from './imgs/动态按钮.png'
function App() {
  return (
    <div>
      <img src={ buttonimage }/>
    </div>
  )
}

在这里插入图片描述
在这里插入图片描述

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值