使用React链接组件内部的图像

时间:2017-05-20 21:24:19

标签: javascript reactjs jsx

我正在学习反应。我的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;

2 个答案:

答案 0 :(得分:4)

一种快速而干净的方法是导入图像的方式与导入或require()模块的方式相同:

import image1 from './path/to/image';

然后从JSX引用该图像:

<img width={900} height={500} alt="" src={image1} />

图像的路径可能会自动为您解决,具体取决于您的捆绑包(webpack等)的设置方式。

另一方面,如果您不以导入模块的方式导入图像(并且您直接从JSX或组件引用内联图像路径),则不需要预先添加图像{ {1}}使用src(因为它不是导入,只是常规相对路径),所以只需编写内联 ./调用以指向图像与在HTML中编写的方式相同(其中路径等于相对路径返回到图像目录 relative 到HTML文件):

所以这个:

src

可能会:

<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" />

您还可以通过阅读Correct path for img on React.js

获得一些线索

答案 1 :(得分:2)

嗯,你说:

  

&#34; ...我的src文件夹里面的components文件夹里面有一个文件website_index.js。&#34;

你也说过:

  

&#34; ...我的src文件夹里面还有一个图像文件夹。&#34;

所以,你的项目结构是这样的:

SRC
| _组件
| _ images

试试这个:

<img width={900} height={500} alt="900x500"  src={require('../images/Ian_FMD_400.jpg')}/>