Javascript 将道具传递给<;时未加载图像;img src=”等;这是道具。”/&燃气轮机;反应

Javascript 将道具传递给<;时未加载图像;img src=”等;这是道具。”/&燃气轮机;反应,javascript,reactjs,image,src,Javascript,Reactjs,Image,Src,当我将道具传递给img的属性src时,我有一个关于链接没有加载我的图像的问题。我尝试过将require()包装在我的链接上,但没有效果 我有一个巨大的产品库,使用图像加载器手动导入图像是不可行的 因此,有没有办法在src属性中使用道具加载图像 我使用的是NODE_PATH=src/ 谢谢你的帮助 export const productLib=[{ ID:“001”, 名称:“产品名称”, src:“lib/productLib/img/product_name”, 颜色:“, ... },{

当我将道具传递给img的属性src时,我有一个关于链接没有加载我的图像的问题。我尝试过将require()包装在我的链接上,但没有效果

我有一个巨大的产品库,使用图像加载器手动导入图像是不可行的

因此,有没有办法在src属性中使用道具加载图像

我使用的是NODE_PATH=src/

谢谢你的帮助

export const productLib=[{
ID:“001”,
名称:“产品名称”,
src:“lib/productLib/img/product_name”,
颜色:“,
...
},{…}]
从“React”导入React;
导出类产品扩展React.Component{
render(){
返回(
{this.props.product.name}
)
}

}
我认为问题与您向组件发送url的方式有关

“lib/productLib/img/product_name”不是url,也不是相对url

您可以使用导入来获取图像

从“React”导入React;
从“./logo.png”导入徽标;//告诉webpack此JS文件使用此图像
console.log(徽标);///logo.84287d09.png
函数头(){
//导入结果是图像的URL
返回;
}

导出默认标题我认为问题与向组件发送url的方式有关

“lib/productLib/img/product_name”不是url,也不是相对url

您可以使用导入来获取图像

从“React”导入React;
从“./logo.png”导入徽标;//告诉webpack此JS文件使用此图像
console.log(徽标);///logo.84287d09.png
函数头(){
//导入结果是图像的URL
返回;
}

导出默认标题按照Xuscrus的建议,我使用公共路径链接了我的图像。我必须删除我的绝对路径才能使这个解决方案起作用

我将所有图像移动到我的CreateReact应用程序的公用文件夹中名为“img”的文件夹中

根据我最初陈述中使用的示例,以下是我发现的最简单的解决方案:

从“React”导入React;
导出类产品扩展React.Component{
render(){
返回(
{this.props.product.name}
)
}

}
根据Xuscrus的建议,我使用公共路径链接了我的图像。我必须删除我的绝对路径才能使这个解决方案起作用

我将所有图像移动到我的CreateReact应用程序的公用文件夹中名为“img”的文件夹中

根据我最初陈述中使用的示例,以下是我发现的最简单的解决方案:

从“React”导入React;
导出类产品扩展React.Component{
render(){
返回(
{this.props.product.name}
)
}

}
请在此处提供答案,而不是为其传递链接,最终该链接在将来将不起作用,人们将无法从您的答案中获益。使用相对或绝对路径不应造成差异。当我在webpack中使用绝对路径时,它可以正常工作。在更高的范围内,当导入数百种产品时,使用webpack image loader手动添加我的所有图像是不可行的。我正在寻找的是一种使用{this.props.product.src}导入图像的方法,或者一种可扩展的方法来导入大量图像。你说得对。没有将所有产品添加到您的网页包加载器。也许你应该映射你的列表并设置一个有效的url。首先,要了解图像的存储位置。如果它们与您的应用程序发布在同一位置,您可以使用webpack public path。如果没有,可能您需要一个配置文件来正确创建映射和构建url。感谢Xuscrus的帮助,正如您提到的,我使用公共路径导入图像。请在此处提供答案,而不是传递链接,最终,这种联系在未来将不起作用,人们将无法从你的回答中受益。使用相对或绝对路径不应造成差异。当我在webpack中使用绝对路径时,它可以正常工作。在更高的范围内,当导入数百种产品时,使用webpack image loader手动添加我的所有图像是不可行的。我正在寻找的是一种使用{this.props.product.src}导入图像的方法,或者一种可扩展的方法来导入大量图像。你说得对。没有将所有产品添加到您的网页包加载器。也许你应该映射你的列表并设置一个有效的url。首先,要了解图像的存储位置。如果它们与您的应用程序发布在同一位置,您可以使用webpack public path。如果没有,也许您需要一个配置文件来创建映射并正确构建url。感谢Xuscrus的帮助,正如您提到的,我使用公共路径导入了我的图像。