同 HTML 的 img 元素一样,React Native 提供的 Image 组件可以用来显示各种途径的图片,比如网络图片、本地图片、照相机图片等。
  虽然效果是一样的。然而用法还是有区别的。

  1、src属性改为了source属性。

  在web中,如果加载图片会使用img标签,其中src属性用来指定图片的地址。而在React Native中,使用Image组件来加载图片,src属性也变为了source属性,而且不接受字符串,值是一个带有uri属性的对象。

  2、必须声明图片的宽、高(限网络图片)。

  在web中,加载图片可以不必规定图片的宽、高,如果不设置那么会以图片的原始尺寸来显示;如果设置,可以只设置一个值,这时,图片会等比例缩放;如果设置两个值的话,则会根据规定尺寸来显示图片。而在React Native中,如果是加载网络图片时,必须声明图片的宽和高,否则图片不会显示。

  3、宽高为逻辑像素点(不带单位)。

  React Native中的尺寸都是无单位的,表示的是与设备像素密度无关的逻辑像素点。只能使用数值,不带任何单位。

  4、加载图片的方式与原来不同。

  在使用Image组件加载图片时,可分为网络图片和本地图片,如果是加载本地图片,使用require('string') 来包裹,string表示图片本地路径。

  如果是加载网络图片,则使用uri:'string' ,string表示网络图片的地址。

  

  例如,要加载一幅网络图片,可以这样写:

<Image source={{uri:'https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=991823527,956610122&fm=27&gp=0.jpg'}} style={{width:200,height:180}}/>

  

  当然也可以这样写:

// render后:
let pic = {
uri:'https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=991823527,956610122&fm=27&gp=0.jpg'
}; // return后
<Image source={pic} style={{width:200,height:180}}/>

  

  加载本地图片:

<Image source={require('./images/105.jpg')} style={{width:200,height:180}} />

  如果不限制尺寸,则显示图片的原始尺寸,此处与加载网络图片有所不同,可以不必规定图片尺寸,如果是加载网络图片,必须规定图片的宽高,否则图片不显示。

  5、Image标签必须闭合,否则会报错

React Native之Image组件的更多相关文章

  1. react native之组织组件

    这些组件包括<TabView>,<NavigatorView>和<ListView>,他们实现了手机端最常用的交互和导航.你会发现这些组件在实际的项目中会非常有用. ...

  2. React Native之倒计时组件的实现(ios android)

    React Native之倒计时组件的实现(ios android) 一,需求分析 1,app需实现类似于淘宝的活动倒计时,并在倒计时结束时,活动也结束. 2,实现订单倒计时,并在倒计时结束时,订单关 ...

  3. React Native知识6-NavigatorIOS组件

    NavigatorIOS包装了UIKit的导航功能,可以使用左划功能来返回到上一界面.本组件并非由Facebook官方开发组维护.这一组件的开发完全由社区主导.如果纯js的方案能够满足你的需求的话,那 ...

  4. React Native知识2-Text组件

    Text用于显示文本的React组件,并且它也支持嵌套.样式,以及触摸处理.在下面的例子里,嵌套的标题和正文文字会继承来自styles.baseText的fontFamily字体样式,不过标题上还附加 ...

  5. react native 之子组件和父组件之间的通信

    react native开发中,为了封装性经常需要自定义组件,这样就会出现父组件和子组件,那么怎么在父组件和子组件之间相互通信呢,也就是怎么在各自界面push和pop.传值. 父组件传递给子组件: 父 ...

  6. React Native 系列(五) -- 组件间传值

    前言 本系列是基于React Native版本号0.44.3写的.任何一款 App 都有界面之间数据传递的这个步骤的,那么在RN中,组件间是怎么传值的呢?这篇文章将介绍到顺传.逆传已经通过通知传值. ...

  7. react native 封装TextInput组件

    上一篇 react-native文章提到了TextInput组件对安卓的适配问题,因此对该组件进行封装很有必要. 文章地址  react native定报预披项目知识点总结 TextInput介绍 官 ...

  8. React Native之常用组件(View)

    一. JSX和组件的概念 React的核心机制之一就是虚拟DOM:可以在内存中创建的虚拟DOM元素.React利用虚拟DOM来减少对实际DOM的操作从而提升性能.传统的创建方式是: 但这样的代码可读性 ...

  9. React Native常用第三方组件汇总--史上最全 之一

    React Native 项目常用第三方组件汇总: react-native-animatable 动画 react-native-carousel 轮播 react-native-countdown ...

随机推荐

  1. lesson - 10 shell 基础知识

    课程大纲: 1. shell特性 命令历史 history !!  !$  !n  !字符 Tab 键可以补全文件路径或者命令 alias  a=“b”  unalias a 通配符 *匹配零个或多个 ...

  2. FPGA设计思想与技巧(转载)

    题记:这个笔记不是特权同学自己整理的,特权同学只是对这个笔记做了一下完善,也忘了是从那DOWNLOAD来的,首先对整理者表示感谢.这些知识点确实都很实用,这些设计思想或者也可以说是经验吧,是很值得每一 ...

  3. 关于模拟登陆微博(PC)

    微博模拟登陆 1.基类对象的方法建立一个类__init__初始化方法,接收username和password. class launcher(): def __init__(self, usernam ...

  4. Android studio Error:org.gradle.api.internal.tasks.DefaultTaskInputs$TaskInputUnionFileCollection cannot be cast to

    http://blog.csdn.net/FlyRabbit_1/article/details/74536317 Error:org.gradle.api.internal.tasks.Defaul ...

  5. redis 写入的时候报错

    redis 写入报错 1)报错内容 Exception in thread "main" redis.clients.jedis.exceptions.JedisDataExcep ...

  6. label按钮和文字对齐

    label按钮和文字对齐 做表单的时候,经常遇到:复选框和文字对不齐的情况 ========================== 下面方法可以对齐 <!--label [[--> < ...

  7. gitlab勾住rocket chat

    出于协作的要求, 需要在把gitlab的push event勾到rocket chat上面, 通知协作的其他人. BUT rocket chat提供的脚本没有具体的文件diff, so, 只好修改一下 ...

  8. Hadoop2.9.0安装

    参考 https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/SingleCluster.html 1.下载并解 ...

  9. 关于centos启动报错:Failed to start Crash recovery kernel arming的解决方案

    在VMware中安装了centos,重启时报错:Failed to start Crash recovery kernel arming 本质是kdump服务启动失败 先来说一下,什么是kdump K ...

  10. 意外断电数据库无法启动牵扯到异步IO的参数设置

    一客户机房新装的UPS不太稳定,好几次意外断电,第3次意外断电之后问题终于来了, 数据库起不来了-- 数据库的硬件环境是一台IBM DS5020存储,2台IBM X3850 X5 软件环境是Linux ...