reactjs - (反应)PNG图像将导入,但不会显示
问题描述
我正在尝试创建一个帮助函数,该函数将返回两个图像之一——一个复选标记或一个红色错误图标,具体取决于用户输入。
我的标头代码如下所示
import ErrorImage from './../Assets/Error.png'
import CheckMark from './../Assets/CheckMark.png'
我的辅助函数如下所示:
if(myVar){
return <img src={CheckMark} alt='CheckMark'/>
}
else{
return <img src={ErrorImage} alt='Error'/>
}
我很肯定我正确地导入了两者——它们位于相同的相对文件路径中,并且来自相同的页面源。奇怪的是,只有红色的 x 会加载。当我尝试遵循检查元素中的路径时,复选标记显示为空白图像。但是,当我在资产文件夹中打开复选标记时,我会看到我希望看到的复选标记。
我尝试将高度和宽度设置为任意大的数字,只是为了确保我没有创建大小为 0 的图像,并且我已将不透明度设置为 1,以防它由于某种原因是透明的。这些都没有使图像出现。
我能想到的就是它一定是导致此问题的图像的属性,但我尝试了四五个不同的复选标记图像,但都没有奏效。我不明白我做错了什么,而且我发现的所有支持文档都用于不正确地导入数据。据我所知,我正在正确导入这些数据。
编辑:我注意到的一个奇怪的元素。如果我 console.log 我的错误图标,我会得到一长串以“data: image/png.base64....”开头的文本。如果我 console.log 我的复选标记,我会得到“static/media/Checkmark.89156a。 png",就是这样。错误图标的数据比复选标记多得多。
编辑 2:我仍然不知道是什么导致了这个问题,但我只是放弃了尝试导入图像并转而使用 Unicode 符号,这对我来说没有问题。
解决方案
似乎您的代码中有一些语法错误
标题应该是:
import ErrorImage from './../Assets/Error.png'
import CheckMark from './../Assets/CheckMark.png'
辅助函数应该是:
if(myVar){
return <img src={CheckMark} alt='CheckMark'/>
}
else{
return <img src={ErrorImage} alt='Error'/>
}
有关更多详细信息, 请参阅此StackOverflow 帖子
推荐阅读
- javascript - 尝试从 collectionGroup 中读取时,为什么会出现权限错误?
- python - 向 GeoPandas 图例添加自定义名称
- javascript - 为什么我的商店会重置我的授权?
- python - 用一系列反斜杠和正斜杠替换正斜杠
- maximo - 在通信模板中链接记录
- flutter - 在flutter inappWebview中自动填充登录凭据
- python - 如何使用 Python 替换 PDF 中的文本?
- android - 使用具有静态和滚动内容的工具栏时内容重叠
- excel - 选择工作表类的方法失败(不确定原因)
- android - 无法使用 Gson 解析 JSON:无法转换错误