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:提供了一个可触摸的组件抽象,里面使用了手势系统,可以使我们方便地配置手势交互。如下几种组件:

  1. TouchableHighlight
  2. TouchableOpacity
  3. TouchableWithoutFeedback
  4. 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笔记的更多相关文章

  1. ReactNative学习实践--Navigator实践

    离上次写RN笔记有一段时间了,期间参与了一个新项目,只在最近的空余时间继续学习实践,因此进度比较缓慢,不过这并不代表没有新进展,其实这个小东西离上次发文时已经有了相当大的变化了,其中影响最大的变化就是 ...

  2. react-native学习笔记--史上最详细Windows版本搭建安装React Native环境配置

    参考:http://www.lcode.org/react-native/ React native中文网:http://reactnative.cn/docs/0.23/android-setup. ...

  3. Oracle学习笔记十一 游标

    游标的简介 游标的概念 游标是从数据表中提取出来的数据,以临时表的形式存放在内存中,在游标中有一个数据指针,在初始状态下指向的是首记录,利用fetch语句可以移动该指针,从而对游标中的数据进行各种操作 ...

  4. 《3D Math Primer for Graphics and Game Development》读书笔记1

    <3D Math Primer for Graphics and Game Development>读书笔记1 本文是<3D Math Primer for Graphics and ...

  5. Vue.js学习笔记(2)vue-router

    vue中vue-router的使用:

  6. [Java入门笔记] 面向对象编程基础(二):方法详解

    什么是方法? 简介 在上一篇的blog中,我们知道了方法是类中的一个组成部分,是类或对象的行为特征的抽象. 无论是从语法和功能上来看,方法都有点类似与函数.但是,方法与传统的函数还是有着不同之处: 在 ...

  7. 数论学习笔记之解线性方程 a*x + b*y = gcd(a,b)

    ~>>_<<~ 咳咳!!!今天写此笔记,以防他日老年痴呆后不会解方程了!!! Begin ! ~1~, 首先呢,就看到了一个 gcd(a,b),这是什么鬼玩意呢?什么鬼玩意并不 ...

  8. Dynamic CRM 2013学习笔记(二十六)报表设计:Reporting Service报表 动态参数、参数多选全选、动态列、动态显示行字体颜色

    上次介绍过CRM里开始报表的一些注意事项:Dynamic CRM 2013学习笔记(十五)报表入门.开发工具及注意事项,本文继续介绍报表里的一些动态效果:动态显示参数,参数是从数据库里查询出来的:参数 ...

  9. <老友记>学习笔记

    这是六个人的故事,从不服输而又有强烈控制欲的monica,未经世事的千金大小姐rachel,正直又专情的ross,幽默风趣的chandle,古怪迷人的phoebe,花心天真的joey——六个好友之间的 ...

随机推荐

  1. one jar(转)

    http://blog.csdn.net/kabini/article/details/1598827

  2. Requests 入门

    首先直接通过管理员运行cmd,然后执行 pip install requests  就可以直接安装Requests库了 有个最基本的语句 r = requests.get(url) 通过request ...

  3. B. Lecture Sleep( Educational Codeforces Round 41 (Rated for Div. 2))

    前缀后缀和搞一搞,然后枚举一下区间,找出最大值 #include <iostream> #include <algorithm> using namespace std; ; ...

  4. POJ-1258-Agri Ned

    链接:https://vjudge.net/problem/POJ-1258#author=fuxianda 题意: 有n个农场,已知这n个农场都互相相通,有一定的距离,现在每个农场需要装光纤,问怎么 ...

  5. C语言的面向对象技术

    引言:面向过程的C有效率高,代码紧凑的特点,在单片机嵌入式领域是C的主要阵地,while(1)+中断是其主要的开发模式,但是当系统复杂到一定程度,想要添加一个功能需要改动很多地方,耦合性太强:跟别人交 ...

  6. yii2 使用gii生成代码文件

    访问地址: http://localhost/yii2-test/web/index.php?r=gii  如果你通过本机以外的机器访问 Gii,请求会被出于安全原因拒绝. 在web.php修改gii ...

  7. FTP上传下载 C#辅助类

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.N ...

  8. LN : Eden Polymorphic And OOP Design Pattern Abstract Factory

    Appreciation to our TA, +7, who designed this task. Client.cpp #include <iostream> #include &l ...

  9. Java 多个if 和多个else if 的区别

    int a=1; if(a==1){System.out.println("1");} if(a==2){System.out.println("2");} i ...

  10. CF1081C Colorful Bricks

    思路: dp[i][j]表示到第i个砖块为止共计有j个砖块和它左边的砖块颜色不同. 实现: #include <bits/stdc++.h> using namespace std; ty ...