【发布时间】:2020-05-06 14:18:30
【问题描述】:
我有一个组件,我在其中传递了图像 url,但出现编译器错误。
Service.js
import React from 'react';
const Service = (props) => {
return (
<div className="col-sm-6 col-md-6 col-lg-6 col-6">
<div className="service">
<img src={require(props.URL)} alt="pencil_logo" />
<h4>{props.Title}</h4>
<p>{props.Description}</p>
</div>
</div>
);
};
export default Service;
关于.js
const About = (props) => {
console.log(props);
let services = null;
services = props.Services.map((x, index) => {
return <Service {...x} key={index} />;
});
return(
<div>{services}</div>
);
};
export default About;
props.Services 有以下值
{
"Services": [
{
"Description": "testdata",
"Title": "testdata",
"URL": "../../../assets/images/site/pencil_tip.svg"
},
{
"Description": "testdata2",
"Title": "testdata2",
"URL": "../../../assets/images/site/pencil_tip2.svg"
},
{
"Description": "testdata3",
"Title": "testdata3",
"URL": "../../../assets/images/site/pencil_tip3.svg"
}
]
}
当我运行这个应用程序时,我得到了这个错误
未捕获的错误:找不到模块 '../../../assets/images/site/pencil_tip.svg'
但是当我这样使用时,它工作得非常好。
import pencil from'../../../assets/images/site/pencil_tip.svg';
...
<img src={pencil} alt="pencil_logo" />
为什么它没有动态地找到图像以及如何解决这个问题以及为什么它在硬编码的情况下找到图像?
更新 #1:
我在构建时在终端中收到此警告
Compiled with warning
../xx/xx/Service.js
Critical dependency: the request of a dependency is an expression
【问题讨论】:
-
stackoverflow.com/questions/39999367/… -> 这回答了如何在 reactjs 中添加图片
-
@AshwinRaoK 我正在使用该帖子中指定的方式,但我的图像没有被拾取。
标签: reactjs