RN笔记
https://facebook.github.io/react-native/docs/using-a-listview.html
react native类似于react,不过它使用的是原生组件,而不是web组件。也就是说不能div或span等。react native使用jsx、state、props和react native特有的东西,如原生组件
样式和布局
样式都写在一个js对象中(create出来),采用驼峰命名。所有的核心组件都有style属性,让style指向样式对象即可。
text组件嵌套的话,内部的text会继承外部的text样式
使用flex进行尺寸自动伸缩,直接使用flex即可,使用flex布局不需要在父容器上加display:flex。其他像alignItems、justifyContent等flex属性可以直接使用
核心组件
View 类似于div,块级、一般用作于无意义容器
Text用于展示文本
TextInput用于接收输入,类似于input,也有placehoder属性
处理输入
在TextInput上定义onChangeText属性,接收回调函数,可以在里面进行数据校验,使用这个函数使组件称为受控组件
手势系统
管理着app中手势的生命周期。处理手势的最佳用户实践是:1.给用户反馈(如高亮)让用户知道他们做出手势后的结果;2.处理用户的手势中断。
Touchable:提供了一个可触摸的组件抽象,里面使用了手势系统,可以使我们方便地配置手势交互。如下几种组件:
- TouchableHighlight
- TouchableOpacity
- TouchableWithoutFeedback
- TouchableNativeFeedback
以上四种组件都可以设置onPress、onLongPress回调,只是触摸时的样式不同而已,都需要嵌套一个text来显示按钮文字,
一个组件要去处理手势,首先要称为responder(两个函数在事件捕获阶段执行),接着对应触摸事件的回调函数(移动、松开、开始按下、终止)就会在这个组件上执行。当一个组件成为responder,内部的组件也会成为responder。最里面的组件会最先执行 onStartShouldSetResponder and onMoveShouldSetResponder,这两个事件会冒泡上去,如果不希望子组件成为responder,也通过两个方法返回true即可
Button组件上的onPress处理点击回调。在ios和android上的默认样式不同,可以通过Touchable来创建自定义按钮
滚动列表
ScrollView:内部可以嵌套不同的组件,通过属性可以配置垂直或水平滚动。数据源直接写在内部作为子组件即可。当scrollview中只有一个组件时,可以允许缩放这个组件。这个组件用于展示有限的数量较组件,因为scrollview会把所有的组件都渲染出来,就算这个组件没有显示出来,所以如果要显示比较多的组件就使用flatList
FlatList:用于展示结构相似的,可变的组件,可以展示数量较多的组件,它仅仅展示需要显示出来的组件。数据源需要通过两个属性来指定。
SectionList:需要把数据分区域显示,显示区域的头等。
网络
fetch:类似于xhr。但request和response的定义更具通用性,未来可以用于service worker、cache api等。返回的promise最好加上一个catch,否则发生错误的话会被忽略,没有任何提示。
xhr:xhr是内置的,也就是说我们可以使用axios等第三方库。在native中使用和web有一个区别,就是可以跨域,没有CORS的概念
websocket:内置websocket。
RN笔记的更多相关文章
- ReactNative学习实践--Navigator实践
离上次写RN笔记有一段时间了,期间参与了一个新项目,只在最近的空余时间继续学习实践,因此进度比较缓慢,不过这并不代表没有新进展,其实这个小东西离上次发文时已经有了相当大的变化了,其中影响最大的变化就是 ...
- react-native学习笔记--史上最详细Windows版本搭建安装React Native环境配置
参考:http://www.lcode.org/react-native/ React native中文网:http://reactnative.cn/docs/0.23/android-setup. ...
- Oracle学习笔记十一 游标
游标的简介 游标的概念 游标是从数据表中提取出来的数据,以临时表的形式存放在内存中,在游标中有一个数据指针,在初始状态下指向的是首记录,利用fetch语句可以移动该指针,从而对游标中的数据进行各种操作 ...
- 《3D Math Primer for Graphics and Game Development》读书笔记1
<3D Math Primer for Graphics and Game Development>读书笔记1 本文是<3D Math Primer for Graphics and ...
- Vue.js学习笔记(2)vue-router
vue中vue-router的使用:
- [Java入门笔记] 面向对象编程基础(二):方法详解
什么是方法? 简介 在上一篇的blog中,我们知道了方法是类中的一个组成部分,是类或对象的行为特征的抽象. 无论是从语法和功能上来看,方法都有点类似与函数.但是,方法与传统的函数还是有着不同之处: 在 ...
- 数论学习笔记之解线性方程 a*x + b*y = gcd(a,b)
~>>_<<~ 咳咳!!!今天写此笔记,以防他日老年痴呆后不会解方程了!!! Begin ! ~1~, 首先呢,就看到了一个 gcd(a,b),这是什么鬼玩意呢?什么鬼玩意并不 ...
- Dynamic CRM 2013学习笔记(二十六)报表设计:Reporting Service报表 动态参数、参数多选全选、动态列、动态显示行字体颜色
上次介绍过CRM里开始报表的一些注意事项:Dynamic CRM 2013学习笔记(十五)报表入门.开发工具及注意事项,本文继续介绍报表里的一些动态效果:动态显示参数,参数是从数据库里查询出来的:参数 ...
- <老友记>学习笔记
这是六个人的故事,从不服输而又有强烈控制欲的monica,未经世事的千金大小姐rachel,正直又专情的ross,幽默风趣的chandle,古怪迷人的phoebe,花心天真的joey——六个好友之间的 ...
随机推荐
- java数据结构----带权图
1.带权图:要引入带权图,首先要引入最小生成树,当所有的边拥有相同的权值时.问题变得简单了,算法可以选择任意一条边加入最小生成树.但是当边有不同的权值时,需要用一些算法决策来选择正确的边. 2.带权图 ...
- iOS蓝牙架构搭建-2
蓝牙架构的搭建 前言:笔者认为,如果只是单纯的传授大家代码怎么敲,那么大家很有可能在实际开发中难以运用.刚好本人曾经参与过多款智能硬件开发的架构搭建,本小节本人就现场带领大家开发出一个通用的蓝牙工具类 ...
- 判断EditText输入的字符串中是否包含有emoji表情
我们在实际的开发中经常需要用到EditText 但是有一个不好的地方就是我们在前端用EditText输入了带有emoji表情的字符串之后 服务器是无法识别的,这就需要我们前端根据需求来决定表情的去留, ...
- Docker容器与容器数据
Docker容器与容器数据 image 与container 镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的 类 和 实例 一样,镜像是静态的定义,容器是镜像运行时的 ...
- HTML 5的革新——语义化标签(二)
HTML 5的革新之一:语义化标签二文本元素标签.分组元素标签. HTML 5的革新——语义化标签(一)中介绍了一些HTML5新加的一些节元素,一张页面中结构元素构成网页大体,但是也需要其他内容来填充 ...
- CentOS7下Oracle11gR2监听启动错误解决
oracle监听程序启动失败,错误如下: [oracle@localhost ~]$ lsnrctl start LSNRCTL - Production on -APR- :: Copyright ...
- vue样式操作与事件绑定
Vue笔记 1 Vue实例 (VM) var vm = new Vue({ el:'#app', //挂载元素 //数据 data: { title:'值', ...
- SQL Server中变量的声明和使用方法
声明局部变量语法:DECLARE @variable_name DataType其中 variable_name为局部变量的名称,DataType为数据类型.给局部变量赋值有两种方法:1.SET @v ...
- Spring 配置定时器(注解+xml)方式—整理
一.注解方式 1. 在Spring的配置文件ApplicationContext.xml,首先添加命名空间 xmlns:task="http://www.springframework.or ...
- (三)mybatis之对Hibernate初了解
前言:为什么会写Hibernate呢?因为HIbernate跟Mybatis一样,是以ORM模型为核心思想的,但是这两者有相似的地方也有差异的地方.通过这两种框架的比对,可以对mybatis有着更深的 ...