Reactjs 在React中动态地要求图像是一种不好的做法吗?
我正在开发一个Reactjs 在React中动态地要求图像是一种不好的做法吗?,reactjs,Reactjs,我正在开发一个img覆盖,这取决于图像是相对的(![Test](Test.jpg“Test”))还是超链接(![Test](https://example.net/test.jpg “Test”)),我希望以不同的方式处理问题 下面的代码运行良好,但我想确保它是未来的证明。我在一段时间前已经停止使用requires来支持导入,但是导入不能是动态的 interface ImageProps{ alt:string src:string } 常量图像=函数(道具:ImageProps){ 让src:
img
覆盖,这取决于图像是相对的(![Test](Test.jpg“Test”)
)还是超链接(![Test](https://example.net/test.jpg “Test”)
),我希望以不同的方式处理问题
下面的代码运行良好,但我想确保它是未来的证明。我在一段时间前已经停止使用requires来支持导入,但是导入不能是动态的
interface ImageProps{
alt:string
src:string
}
常量图像=函数(道具:ImageProps){
让src:string
if(props.src.match(/^http)?:\/\/){
src=props.src
}否则{
src=require(props.src)
}
返回
}
require有什么问题??您不需要任何动态requires的原因是webpack(或任何其他捆绑程序)无法捆绑隐式requires,因此对于此类情况,您甚至根本不需要require:只需将所有图像放在静态资产目录中,并指向任何位置即可。让浏览器找到实际的图像文件,因为您给了它正确的URL。@Mike'Pomax'Kamermans的问题是图像src
是从具有相对路径的标记文件派生的,因此管理静态资产需要将图像复制到公用文件夹。我喜欢在上面的代码中,CRA如何处理这个问题。@Chris试图弄清楚使用dynamic Required语句是一种好的做法还是一种黑客行为。上面的Mike是有道理的,但使用dynamic Required本身并不一定是坏的。