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 相关文章推荐
jquery 新手学习常见问题解决方法
Apr 18 Javascript
25个好玩的JavaScript小游戏分享
Apr 22 Javascript
extjs两个tbar问题探讨
Aug 08 Javascript
javascript拖拽效果延伸学习
Apr 04 Javascript
使用BootStrap实现悬浮窗口的效果
Dec 13 Javascript
js原生Ajax的封装和原理详解
Mar 11 Javascript
jQuery中可见性过滤器简单用法示例
Mar 31 jQuery
javascript中数组的常用算法深入分析
Mar 12 Javascript
vue踩坑记录之数组定义和赋值问题
Mar 20 Javascript
vue实现多组关键词对应高亮显示功能
Jul 25 Javascript
layui的数据表格+springmvc实现搜索功能的例子
Sep 28 Javascript
angular异步验证器防抖实例详解
Mar 31 Javascript
小程序wx.getUserProfile接口的具体使用
js实现自动锁屏功能
Jun 02 #Javascript
如何将JavaScript将数组转为树形结构
Jun 02 #Javascript
关于antd tree 和父子组件之间的传值问题(react 总结)
使用react+redux实现计数器功能及遇到问题
微信小程序基础教程之echart的使用
vue实现水波涟漪效果的点击反馈指令
You might like
php计算指定目录下文件占用空间的方法
2015/03/13 PHP
深入分析PHP优化及注意事项
2016/07/04 PHP
PHP将URL转换成短网址的算法分享
2016/09/13 PHP
javascript,jquery闭包概念分析
2010/06/19 Javascript
js 时间格式与时间戳的相互转换示例代码
2013/12/25 Javascript
JS cookie中文乱码解决方法
2014/01/28 Javascript
jQuery.trim() 函数及trim()用法详解
2015/10/26 Javascript
JavaScript+html5 canvas实现图片破碎重组动画特效
2016/02/22 Javascript
JavaScript事件详细讲解
2016/06/27 Javascript
浅谈JS使用[ ]来访问对象属性
2016/09/21 Javascript
简单实现jQuery弹幕效果
2017/05/06 jQuery
vue实现单选和多选功能
2017/08/11 Javascript
vue.extend实现alert模态框弹窗组件
2018/04/28 Javascript
JS与jQuery实现ListBox上移,下移,左移,右移操作功能示例
2018/05/31 jQuery
vue 弹框产生的滚动穿透问题的解决
2018/09/21 Javascript
nodejs语言实现验证码生成功能的示例代码
2019/10/13 NodeJs
在Vue项目中使用Typescript的实现
2019/12/19 Javascript
Js图片点击切换轮播实现代码
2020/07/27 Javascript
Vue+ElementUI 中级联选择器Bug问题的解决
2020/07/31 Javascript
基于JS实现快速读取TXT文件
2020/08/25 Javascript
跟老齐学Python之深入变量和引用对象
2014/09/24 Python
python特性语法之遍历、公共方法、引用
2018/08/08 Python
python3实现带多张图片、附件的邮件发送
2019/08/10 Python
解决pytorch DataLoader num_workers出现的问题
2020/01/14 Python
python绘制玫瑰的实现代码
2020/03/02 Python
python 实现两个npy档案合并
2020/07/01 Python
python Yaml、Json、Dict之间的转化
2020/10/19 Python
LocalStorage记住用户和密码功能
2017/07/24 HTML / CSS
CAT鞋英国官网:坚固耐用的靴子和鞋
2016/10/21 全球购物
如何删除一个表里面的重复行
2013/07/13 面试题
初中生自我鉴定
2014/02/04 职场文书
生日主持词
2014/03/20 职场文书
欢迎领导标语
2014/06/27 职场文书
合作意向协议书
2015/01/29 职场文书
教师节联欢会主持词
2015/07/04 职场文书
《开国大典》教学反思
2016/02/16 职场文书