如何在我的反应组件状态下从本地文件夹添加图像?

问题描述

这是代码,我想从本地文件添加图像而不是 item#1,2,3,... 我怎样才能做到这一点? 此外,如果你们中有人知道创建产品滑块的良好源代码,请告诉我,谢谢。

import Carousel from 'react-elastic-carousel';

class ProductSlider extends Component {
  state = {
    items: [
      {id: 1,image: 'item #1'},{id: 2,image: 'item #2'},{id: 3,image: 'item #3'},{id: 4,image: 'item #4'},{id: 5,image: 'item #5'}
    ]
  }

  render () {
    const { items } = this.state;
    return (
      <Carousel>
        {items.map(item => <div key={item.id}>{item.image}</div>)}
      </Carousel>
    )
  }
}
export default ProductSlider;

解决方法

如果您正在使用 create-react-app 构建应用程序。导入图像的最简单方法之一是使用 public 文件夹。将您的图像公开并像这样编写代码。

  1. 在项目的根路径中创建 public 文件夹
  2. 将您的图片放入公共文件夹
public
├── 1.png
├── 2.png
├── 3.png
└── 4.png
import Carousel from 'react-elastic-carousel';

class ProductSlider extends Component {
  state = {
    items: [
      {id: 1,image: '/1.png'},{id: 2,image: '/2.png'},{id: 3,image: '/3.png'},...
    ]
  }

  render () {
    const { items } = this.state;
    return (
      <Carousel>
        {items.map(item => <div key={item.id}><img src={item.image} alt='fill something' /></div>)}
      </Carousel>
    )
  }
}
export default ProductSlider;

您可以从该文档中找到有关公用文件夹的更多信息。 https://create-react-app.dev/docs/using-the-public-folder/