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原生方法创建表格效率测试
Jul 08 Javascript
ie下$.getJSON出现问题的解决方法
Feb 12 Javascript
JS解析url查询参数的简单代码
Aug 06 Javascript
vue mint-ui tabbar变组件使用
May 04 Javascript
vue2.0使用v-for循环制作多级嵌套菜单栏
Jun 25 Javascript
基于element-ui的rules中正则表达式
Sep 04 Javascript
vue slots 组件的组合/分发实例
Sep 06 Javascript
vue-router之nuxt动态路由设置的两种方法小结
Sep 26 Javascript
vue-router的两种模式的区别
May 30 Javascript
jQuery与原生JavaScript选择HTML元素集合用法对比分析
Nov 26 jQuery
javascript设计模式 ? 建造者模式原理与应用实例分析
Apr 10 Javascript
Vue 根据条件判断van-tab的显示方式
Aug 03 Javascript
小程序wx.getUserProfile接口的具体使用
js实现自动锁屏功能
Jun 02 #Javascript
如何将JavaScript将数组转为树形结构
Jun 02 #Javascript
关于antd tree 和父子组件之间的传值问题(react 总结)
使用react+redux实现计数器功能及遇到问题
微信小程序基础教程之echart的使用
vue实现水波涟漪效果的点击反馈指令
You might like
基于empty函数的输出详解
2013/06/17 PHP
PHP提示Cannot modify header information - headers already sent by解决方法
2014/09/22 PHP
自己写的php curl库实现整站克隆功能
2015/02/12 PHP
php精确的统计在线人数的方法
2015/10/21 PHP
PHP登录验证码的实现与使用方法
2016/07/07 PHP
smarty循环嵌套用法示例分析
2016/07/19 PHP
PHP递归实现汉诺塔问题的方法示例
2017/11/25 PHP
php实现等比例压缩图片
2018/07/26 PHP
Javascript 汉字字节判断
2009/08/01 Javascript
jquery text(),val(),html()方法区别总结
2013/11/04 Javascript
在JavaScript应用中使用RequireJS来实现延迟加载
2015/07/01 Javascript
解决jQuery uploadify在非IE核心浏览器下无法上传
2015/08/05 Javascript
javascript求日期差的方法
2016/03/02 Javascript
AngularJS基础 ng-keydown 指令简单示例
2016/08/02 Javascript
聊一聊jQuery插件uploadify使用方法
2016/08/24 Javascript
jQuery checkbox选中问题之prop与attr注意点分析
2016/11/15 Javascript
微信小程序项目实践之主页tab选项实现
2018/07/18 Javascript
TypeScript开发Node.js程序的方法
2019/04/30 Javascript
nodejs二进制与Buffer的介绍与使用
2019/07/11 NodeJs
js实现自定义滚动条的示例
2020/10/27 Javascript
Python实现读取目录所有文件的文件名并保存到txt文件代码
2014/11/22 Python
用Python的线程来解决生产者消费问题的示例
2015/04/02 Python
Python 3.x 连接数据库示例(pymysql 方式)
2017/01/19 Python
vue.js实现输入框输入值内容实时响应变化示例
2018/07/07 Python
python通过实例讲解反射机制
2019/10/17 Python
python通过matplotlib生成复合饼图
2020/02/06 Python
html5本地存储_动力节点Java学院整理
2017/07/12 HTML / CSS
HTML5 Canvas 绘图——使用 Canvas 绘制图形图文教程 使用html5 canvas 绘制精美的图
2015/08/31 HTML / CSS
俄罗斯香水在线商店:AromaCode
2019/12/04 全球购物
兰蔻法国官方网站:Lancôme法国
2020/02/22 全球购物
2014城乡环境综合治理工作总结
2014/12/19 职场文书
2016寒假社会实践心得体会范文
2015/10/09 职场文书
2016年世界艾滋病日宣传活动总结
2016/04/01 职场文书
《钢铁是怎样炼成的》高中读后感
2019/08/07 职场文书
python图片灰度化处理的几种方法
2021/06/23 Python
Python内置包对JSON文件数据进行编码和解码
2022/04/12 Python