如何从本地目录加载图像,并将其包含在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'}。


当前回答

有两种方法。

第一个

在类的顶部导入图像,然后在<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) } }

其他回答

const photo = require(`../../uploads/images/${obj.photo}`).default;
...
<img src={photo} alt="user_photo" />

我用过这种方法,它很有效……希望你有用。

const logofooter = require('../../project-files/images/logo.png');

 return(
 <div className="blockquote text-center">
            <img src={logofooter} width="100" height="80" />
 <div/>
);

我找到了另一种方法来实现这个(这是一个功能组件):

const Image = ({icon}) => {
   const Img = require(`./path_to_your_file/${icon}.svg`).ReactComponent;
   return <Img />
}

希望能有所帮助!

你需要在{}中包装你的图像源路径

<img src={'path/to/one.jpeg'} />

如果使用webpack,你需要使用require

<img src={require('path/to/one.jpeg')} />

首先用{}包装src

如果使用Webpack; 而不是: <img src={"./logo.jpeg"} /> . quot

你可能需要使用require:

<img src={\ require(' logo.jpeg')} />


另一种选择是首先导入图像:

从'./logo.jpeg'导入logo;//导入

还是……

Const logo = require('./logo.jpeg');//使用require

然后插上电源……

<img src={logo} />

我推荐这个选项,特别是在重用映像源的情况下。