Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 在React中动态地要求图像是一种不好的做法吗?_Reactjs - Fatal编程技术网

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本身并不一定是坏的。