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——六个好友之间的 ...
随机推荐
- CSS之html元素与body元素的范围
- jar工具的使用
- java多线程模拟红绿灯案例
代码Lighter.java: package pack1; /** * 灯线程 * @author Administrator * */ public class Lighter extends T ...
- [软件工程基础]PhyLab 技术规格说明书
由于暂不对后端有所改变,因此该部分技术规格说明书复用 Default 的技术规格说明书. 由于现阶段对于 Laravel 框架不熟悉,以及对于是否使用已有的轮子或者造轮子实现预想的功能还不清晰,因此暂 ...
- Java中的list与Set、Map区别及适用场景
Collection接口是集合类的根接口,Java中没有提供这个接口的直接的实现类,但是却让其被继承产生了两个接口,就是Set和List.Set中不能包含重复的元素.List是一个有序的集合,可以包含 ...
- shell脚本由基础变量及特殊变量($@、$*、$#等)到实战。
一.shell脚本建立: shell脚本通常是在编辑器(如vi/vim)中编写,也可以在命令行中直接执行: 1.脚本开头: 规范的脚本第一行需要指出有哪个程序(解释器)来执行脚本中的内容,在L ...
- Unity Shader入门精要学习笔记 - 第8章 透明效果
转载自 冯乐乐的 <Unity Shader入门精要> 透明是游戏中经常要使用的一种效果.在实时渲染中要实现透明效果,通常会在渲染模型时控制它的透明通道.当开启透明混合后,当一个物体被渲染 ...
- CF1080D Olya and magical square
思路: 构造. 实现: #include <bits/stdc++.h> using namespace std; typedef long long ll; ll sum[]; int ...
- Verilog 参数化设计
为了提高模块的重复利用,关键就在于避免硬编码(hard literal),使模块参数化.参数化建模的好处是可以使代码清晰,便于后续维护和修改.只需要修改参数,不用修改其他代码就可以适用于不同的环境中. ...
- [原创] SOAP UI 创建SOAP工程进行接口测试
下载及安装 1. 登录http://www.soapui.org/ 2. 鼠标移动到导航头的Downloads选项 3. 点击SOAP UI 4. 下载页面 新建项目 创建项目 1. 创建项目很简单. ...