如何从本地目录加载图像,并将其包含在reactjs img src标签中?
我有一个图像称为one.jpeg在相同的文件夹内作为我的组件,我尝试了<img src="one.jpeg" />和<img src={"one.jpeg"} />在我的renderfunction,但图像不显示。此外,我无法访问webpack配置文件,因为该项目是用官方的create-react-app命令行util创建的。
更新:如果我首先导入图像与导入img从'./one.jpeg'和使用它在img src={img},但我有这么多的图像文件导入,因此,我想使用他们的形式,img src={'image_name.jpeg'}。
我的回答基本上和Rubzen的非常相似。顺便说一句,我使用图像作为对象值。
有两个版本适合我:
{
"name": "Silver Card",
"logo": require('./golden-card.png'),
or
const goldenCard = require('./golden-card.png');
{ "name": "Silver Card",
"logo": goldenCard,
没有包装,但这也是不同的应用。
我也检查了“导入”解决方案,在少数情况下它是有效的(这并不奇怪,这是应用在React中的App.js模式中),但不是在我上面的情况下。
有两种方法。
第一个
在类的顶部导入图像,然后在<img/>元素中引用它,如下所示
import React, {Component}
import myImg from '../path/myImg.svg';
导出默认类HelloImage扩展组件
呈现(){
return <img src={myImg} width="100" height="50" /> . return <img src={myImg} width="100
}
}
第二个
你可以直接在<img/>元素中使用require('../pathToImh/img')来指定图像路径
import React, {Component}
导出默认类HelloImage扩展组件
呈现(){
return <img src={require(../path/myImg.svg)} width="100" height="50" /> . return <img src={require(../path/myImg.svg)
}
}
把你的图片放在公共文件夹中,或者在公共文件夹中创建一个子文件夹,把你的图片放在那里。
例如:
你把“complete -爬行。jpg”放在公共文件夹中,然后你可以访问它
src={'/completative-reptile.jpg'}
你把complete -爬行.jpg放在public/static/images,然后你可以访问它
src={'/static/images/completative-reptile.jpg'}
我想导入多个图像并将它们传递给不同的组件。结果证明,我只需要一次导入多个图像,并且可以通过传递道具在任何组件中使用它们。
import whiskey from './img/whiskey.jpg';
import hazel from './img/hazel.jpg';
import tubby from './img/tubby.jpg';
让我们创建一个对象。
dog = [
{ name: "Whiskey", src: whiskey },
// ...
]
然后显示图像
<img src={dog.src}></img>
对于我来说,我想调用和使用来自图像文件夹的数组块中的图像。使用“require”方法,并像这样连接“default”,为我解决了这个问题。
在我的slide-data.js页面中:
export const sliderData = [
{
image: require('../../../assets/your-image.jpg').default,
desc: "simple description",
},
然后,你可以在另一页使用e.g.,这样写
import { sliderData } from "../../slider-data";
{sliderData.map((slide, index) => {
return (
<div className="" key={index}>
<img src={slide.image} alt="slide" className="image overlay " />
</div>
);
})}