我一直在想如何通过React和Webpack动态添加图像.我有一个src/images以下的图像文件夹和一个src/components/index以下的组件.我正在使用url加载器和以下Web包配置

    {
      test: /\.(png|jpg|)$/,
      loader: 'url-loader?limit=200000'
    }

在组件中,我知道在创建组件之前,我可以为文件顶部的特定图像添加require(image_path),但我希望使组件通用,并使其具有从父组件传递的图像路径的属性.

我try 过的是:

<img src={require(this.props.img)} />

对于实际属性,我try 了几乎所有我能想到的从项目根、react应用根和组件本身到图像的路径.

文件系统

|-- src
|   ` app.js
|   `--images
|      ` image.jpg
|      ` image.jpg
|   `-- components
|      `parent_component.js
|      `child_component.js

父容器基本上是子容器的倍数...

<ChildComponent img=data.img1 />
<ChildComponent img=data.img2 />
etc....

使用react和webpack with url loader有什么方法可以做到这一点,还是我只是走错了路?

推荐答案

使用此处(SurviveJS - Loading Images)描述的url加载器,您可以在代码中使用:

import LogoImg from 'YOUR_PATH/logo.png';

<img src={LogoImg}/>

编辑:精确地说,使用这种技术,图像被内联到js存档中.它可以用于小图像,但要明智地使用该技术.

Reactjs相关问答推荐

实时收听react前端应用程序中的webhook响应

props 可以在Reaction中锻造吗?

替换谷歌 map api默认信息窗口与自定义

React Router:在没有手动页面刷新的情况下,路由不会更新内容

当项目开始时,它不会从三元运算符(REACT)加载一些tailwind 类名称

如何从Reaction-Arborist树获取排序数据

如何使用 App Router 和服务器组件在 Next.js 13 中实现分页

onChange in useEffect 的最佳实践

我应该如何将字符串作为props 传递给 React 组件?

使用 react pro 侧边栏展开折叠菜单

带有 webpack 错误多个文件匹配路由名称的 Expo-router.无法Bundle 或部署应用程序

使用 axios 响应路由 Dom 操作

Github 页面无法正确呈现 CSS,因为它是本地的

当用户输入相同信息时如何禁用更新

如何使用react 路由将 url 参数限制为一组特定的值?

如何使用 UseState 正确测试组件

模块解析失败:意外令牌 (257:106) 您可能需要适当的加载程序来处理此文件类型

使用 useRef(uuid()) 的目的是什么?

将鼠标悬停在仅适用于该类的第一个实例的 p5.js 类上

为什么我从另一个组件收到错误?