react 项目中引入图片的几种方式


Posted in Javascript onJune 02, 2021

img标签引入图片

因为react其实是通过js的reader函数渲染的页面,所以直接写src=“路径”是无法引入图片

我们可以像引入模块一样引入图片

import img from './../../../../asset/img/user.png'

需要用下面的方式引入

<img src={require('../images/picture.png')} alt="标签"/>

背景图片引入

1 第一种就是常规的 新建一个css文件,然后就可以直接写css语法了

.img {
   background: url('../images/picture.png') 0 0 no-repeat;
}

2 第二种就是在react组件中通过变量的方式引入,然后直接将变量赋值给img标签

// 引入图片文件
import bg from '../images/bg.png'
// 通过字符串拼接的方式定义一个样式对象
const imgStyle = {
  width: '100%',
  height: '500px',
  backgroundImage: 'url(' + bg + ')',
  backgroundPosition: 'center 0',
  backgroundSize: '2045px 472px',
  backgroundRepeat: 'no-repeat'
}
class Home extends Component {
 constructor () {
  super (props)
 }
 render() {
  // 最后直接将变量赋值给标签
  <div style="imgStyle">
   ...
  </div>
 }
}

require

我们也可以将相对路径用require包裹之后直接赋给src,就像在vue中一样。

<img width="100" height="100" src={require('./../../../../asset/img/user.png')} alt="" className={'user-img'}/>

**注意:**这里有个问题,因为file-loader库的版本不同,这里有些细微差别。高版本的file-loader库esModule默认为true,require返回一个ES模块而不是字符串路径。而这个ES模块的default属性为字符串路径,所以应该这样写:

<img width="100" height="100" src={require('./../../../../asset/img/user.png').default} alt="" className={'user-img'}/>

我们也不要去纠结我们的file-loader版本到底是多少,当我们直接使用require还是无法正常显示图片的时候,我们在require后面加个.default即可

到此这篇关于react 项目中引入图片的几种方式的文章就介绍到这了,更多相关react 引入图片内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
JS与框架页的操作代码
Jan 17 Javascript
js 判断checkbox是否选中的操作方法
Nov 09 Javascript
Asp.Net alert弹出提示信息的几种方法总结
Jan 29 Javascript
JQuery解析HTML、JSON和XML实例详解
Mar 29 Javascript
Javascript异步编程模型Promise模式详细介绍
May 08 Javascript
javascript中的throttle和debounce浅析
Jun 06 Javascript
深入理解javascript变量声明
Nov 20 Javascript
理解javascript异步编程
Jan 27 Javascript
使用jQuery操作HTML的table表格的实例解析
Mar 13 Javascript
JavaScript 拖拽实例代码
Sep 21 Javascript
JavaScript原生节点操作小结
Jan 17 Javascript
微信小程序实现滑动操作代码
Apr 23 Javascript
小程序wx.getUserProfile接口的具体使用
js实现自动锁屏功能
Jun 02 #Javascript
如何将JavaScript将数组转为树形结构
Jun 02 #Javascript
关于antd tree 和父子组件之间的传值问题(react 总结)
使用react+redux实现计数器功能及遇到问题
微信小程序基础教程之echart的使用
vue实现水波涟漪效果的点击反馈指令
You might like
PHP合并静态文件详解
2014/11/14 PHP
PHPStrom 新建FTP项目以及在线操作教程
2016/10/16 PHP
php实现的生成迷宫与迷宫寻址算法完整实例
2017/11/06 PHP
js中if语句的几种优化代码写法
2011/03/12 Javascript
Javascript面向对象设计一 工厂模式
2011/12/20 Javascript
Dojo Javascript 编程规范 规范自己的JavaScript书写
2014/10/26 Javascript
Js中使用hasOwnProperty方法检索ajax响应对象的例子
2014/12/08 Javascript
JavaScript中的逻辑判断符&amp;&amp;、||与!介绍
2014/12/31 Javascript
常常会用到的截取字符串substr()、substring()、slice()方法详解
2015/12/16 Javascript
JavaScript中Object.prototype.toString方法的原理
2016/02/24 Javascript
js 获取本地文件及目录的方法(推荐)
2016/11/10 Javascript
jQuery基于xml格式数据实现模糊查询及分页功能的方法
2016/12/25 Javascript
利用js定义一个导航条菜单
2017/03/14 Javascript
jQuery取得元素标签名称小结(附代码)
2017/08/16 jQuery
js实现简单数字变动效果
2017/11/06 Javascript
修改npm全局安装模式的路径方法
2018/05/15 Javascript
详解微信小程序与内嵌网页交互实现支付功能
2018/10/22 Javascript
前端Electron新手入门教程详解
2019/06/21 Javascript
解决layui富文本编辑器图片上传无法回显的问题
2019/09/18 Javascript
[01:43]3.19DOTA2发布会 三代刀塔人第三代
2014/03/25 DOTA
[01:07:17]EG vs Optic Supermajor 败者组 BO3 第一场 6.6
2018/06/07 DOTA
[01:22:28]DOTA2-DPC中国联赛 正赛 SAG vs RNG BO3 第一场 1月18日
2021/03/11 DOTA
[57:09]DOTA2-DPC中国联赛 正赛 Phoenix vs Dynasty BO3 第一场 1月26日
2021/03/11 DOTA
Python实现的IP端口扫描工具类示例
2019/02/15 Python
Python操作配置文件ini的三种方法讲解
2019/02/22 Python
pytorch ImageFolder的覆写实例
2020/02/20 Python
django restframework serializer 增加自定义字段操作
2020/07/15 Python
HTML5 canvas标签实现刮刮卡效果
2015/04/24 HTML / CSS
美国一家著名的儿童鞋制造商:Stride Rite
2017/01/02 全球购物
英国领先的汽车轮胎和快速健康中心:Kwik Fit
2017/10/29 全球购物
Electrolux伊莱克斯巴西商店:家用电器、小家电和配件
2018/05/23 全球购物
2014年庆元旦活动方案
2014/02/15 职场文书
会计的岗位职责
2014/03/15 职场文书
校长竞聘演讲稿
2014/05/16 职场文书
投资意向协议书
2015/01/29 职场文书
Apache SkyWalking 监控 MySQL Server 实战解析
2022/09/23 Servers