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——六个好友之间的 ...
随机推荐
- 单片机C基本编程规范
为了提高源程序的质量和可维护性,从而最终提高软件产品生产力,特编写此规范.本标准规定了程序设计人员进行程序设计时必须遵循的规范.本规范主要针对单片机编程语言和08编译器而言,包括排版.注释.命名.变量 ...
- 调试PHP
echo "<br/>"; print_r($array);
- 18000 Two String 暴力。——— 读题
http://acm.scau.edu.cn:8000/uoj/mainMenu.html 18000 Two String 时间限制:1000MS 内存限制:65535K提交次数:0 通过次数:0 ...
- ecshop如何增加多个产品详细描述的编辑器
在做商产品详情的时候,经常会有选项卡类似的几个产品说明,如:商品详情,商品规格,参数列表,售后服务等. Ecshop后台里面默认只有一个编辑框(器),那么我们还得自己添加几个,以下是ecshop如何增 ...
- 《高性能MySQL》读书笔记之 MySQL锁、事务、多版本并发控制的基础知识
1.2 并发控制 1.2.1 读写锁 在处理并发读或写时,通过实现一个由两种类型的锁组成的锁系统来解决问题.这两种类型的锁通常被称为 共享锁(shared lock) 和 排它锁(exclusive ...
- hihocoder1068 RMQ-ST算法
思路: 这是ST表模板.遇到一道indeed笔试题需要用这个算法,顺便学习一下.那道题是说给定一个一维数组和一些查询[Li, Ri],要求计算[Li, Ri]区间内子段和的绝对值的最大值.解法是使用S ...
- CF747D Winter Is Coming
题目链接: http://codeforces.com/problemset/problem/747/D 题目大意: 接下来的n天内每天都有一个气温,如果某天的温度为负数,则必须使用冬季轮胎:而温度 ...
- VUE学习,vue运行环境搭建遇见的小问题
1.使用vscode来编辑项目,那么首先给它搭一个vue运行的环境,打开集成终端,使用npm install live-server -g安装live-server. problem1:cmd终端分行 ...
- 二级域名绑定ECS
关于阿里云域名的绑定,下面是个人的理解,如有错误请指出. 首先,任何域名都需要在阿里云备案后才可以使用, 如果是二级域名,不能单独备案,需要其顶级域名在阿里云备案. http://help.aliyu ...
- Codeforces Round #316 (Div. 2) B Simple Game 贪心
贪心,如果m分成的两个区间长度不相等,那么选长的那个区间最接近m的位置,否则选m-1位置,特判一下n等于1的情况 #include<bits/stdc++.h> using namespa ...