我正在学习反应.我的src文件夹里面的components文件夹里面有一个文件website_index.js.我的src文件夹里面还有一个images文件夹.我试图将旋转木马中的图片链接到图像文件夹中的图片,但无论我输入什么路径都找不到它们.是否无法显示这些图片?
有人请告诉我这样做的正确方法.
import React, { Component } from 'react';
import { Jumbotron, Carousel } from 'react-bootstrap';
class Home extends Component {
render() {
return (
<Jumbotron>
<Carousel>
<Carousel.Item>
<img width={900} height={500} alt="900x500" src="./images/Ian_FMD_400.jpg"/>
<Carousel.Caption>
<h3>First slide label</h3>
<p>Nulla vitae elit libero, a pharetra augue mollis interdum.</p>
</Carousel.Caption>
</Carousel.Item>
<Carousel.Item>
<img width={900} height={500} alt="900x500" src="../images/Ian_FMD_400.jpg"/>
<Carousel.Caption>
<h3>Second slide label</h3>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
</Carousel.Caption>
</Carousel.Item>
<Carousel.Item>
<img width={900} height={500} alt="900x500" src="./src/images/Ian_FMD_400.jpg"/>
<Carousel.Caption>
<h3>Third slide label</h3>
<p>Praesent commodo cursus magna, vel scelerisque nisl consectetur.</p>
</Carousel.Caption>
</Carousel.Item>
</Carousel>
</Jumbotron>
);
}
}
export default Home;
解决方法:
一种快速而干净的方法是导入图像的方式与导入或require()模块的方式相同:
import image1 from './path/to/image';
然后从JSX引用该图像:
<img width={900} height={500} alt="" src={image1} />
您可以自动解析映像的路径,具体取决于您的bundler(webpack等)的设置方式.
另一方面,如果您不是以导入模块的方式导入图像(并且您从JSX或组件直接引用内联的图像路径),则不需要使用./前缀图像src. (因为它不是导入,它只是一个常规的相对路径),所以只需编写内联src调用指向图像,就像在HTML中编写它一样(其中路径等于相对路径返回到图像目录相对)到HTML文件):
所以这:
<img width={900} height={500} alt="" src="./src/images/Ian_FMD_400.jpg" />
可能:
<img width={900} height={500} alt="" src="images/Ian_FMD_400.jpg" />
所以回顾一下,导入图像的两种方式有两种不同:
// option one (imports)
import image1 from './path/to/image/relative/to/COMPONENT';
<img src={image1} />
// option two (relative paths inline)
<img src="path/to/image/relative/to/HTML" />
你也可以通过阅读获得一些线索:Correct path for img on React.js