reactjs - 图像未在本地显示
问题描述
我需要使用 props 元素将背景图像设置为 DIV 元素,如果我导入图像,它会正确显示。
import image from '../../../assets/upload/sport/sport1.jpg';
const function = (props) = {
<div style={{backgroundImage: `url(${image})` }}> </div>
}
但如果我使用这个:
const function = (props) = {
<div style={{backgroundImage: `url(../../../assets/upload/${props.path})`}}> </div>
}
props.path 包含:sport/sport1.jpg
它不工作。你能帮我吗,为什么?谢谢
解决方案
当您通过 CSS 引用同一文件时,图像的路径不正确。您的开发环境位置http://localhost:3000
因此具有位于更高目录中的图像是无效的。
当您使用import
它时,Webpack 会处理文件并相应地设置路径。
如果要在 Webpack 之外引用静态图像,可以将图像放在public
目录中,然后使用:
<div style={{backgroundImage: `url(/${props.path})`}}> </div>
推荐阅读
- node.js - DigitalOcean Spaces / Amazon S3“InvalidArgument:Request.extractError 处为空”
- django - 如何在后端实现推送通知的通知队列?
- r - R - 替换给定数据集中的所有列值
- flutter - 如何捆绑flutter ffi插件
- python - 为什么 python list remove() 不适用于绘图列表?
- excel - PowerQuery - 基于辅助字段的聚合期间的 List.PositionOf()
- javascript - UnhandledPromiseRejectionWarning:RequestError:错误:无效的URI“0”
- bash - bash检查目录中是否存在给定文件在通配符上失败
- r - 如何将一个充满双精度的列表快速转换为整数?
- python - 当某些文件中的公共列重叠但其他文件不重叠时,如何将多个 CSV 文件合并到 DataFrame 中