react-native 基础知识的学习
react已经用了半年多了,年后有时间想探究一下奇妙的react-native,还别说确实刁,具体哪里刁后面会补充,因为搭建教程,以及入门教程没来得及写,这里先来写一些基础知识的心得。
为什么react用了半年了这会才来补基础知识,其实大部分知识是知道的,只是因为之前有些问题一直有疑惑,这次看着书籍一点点学很多东西理解的更透彻了,参考书籍是React Native 跨平台移动应用开发(第二版),编著 阙喜涛,感谢这本书,以及给我这本书的领导。
1、react(react native后面简写为react)的高能之处,就是diff算法了,具体怎么局部更新的呢,我个人理解是这样的,调用了setState后react 的算法会‘想一下’本次有多少个setState函数执行了,这些函数都涉及了那些个组件,第一点图片为证,可以看到界面只渲染了一次,第二个可以自己去写组件的的输出日志,看看是否只更新涉及的组件。

2、setState是异步函数,触发了这个函数后立即执行下面的函数,她有个回调函数的参数,这个函数在界面渲染完毕后执行,图片为证,先输出的是2,然后是3然后是1.

3、关于箭头函数与bind,这个是react中的很重要的两个关键词,主要用在事件的回调函数中,首先看如果普通的方式调用那么被调用的函数中的this会指向调用它的对象,例如按钮,而我们要它指向这个类的实例,看下面图片,
(1)用箭头函数的作用就是箭头函数不会去主动绑定this,所以被调用的函数中的this还是这个类的实例。
(2)而用bind的作用就是把这个类的实例绑定并且通过this参数传进被调用的函数,这样在被调用的函数中的this指向都是这个类的实例。

react-native 基础知识的学习的更多相关文章
- React Native基础&入门教程:初步使用Flexbox布局
在上篇中,笔者分享了部分安装并调试React Native应用过程里的一点经验,如果还没有看过的同学请点击<React Native基础&入门教程:调试React Native应用的一小 ...
- react native基础与入门
react native基础与入门 一.react native 的优点 1.跨平台(一才两用) 2.低投入高回报 (开发成本低.代码复用率高) 3.性能高:拥有独立的js渲染引擎,比传统的h5+ w ...
- React入门---基础知识-大纲-1
-----------------在慕课网学习react入门笔记-------------- ---------博主边学边记录,手把手进行学习及记录---------- --------------- ...
- 跨平台框架与React Native基础
跨平台框架 什么是跨平台框架? 这里的多个平台一般是指 iOS 和 Android . 为什么需要跨平台框架? 目前,移动开发技术主要分为原生开发和跨平台开发两种.其中,原生应用是指在某个特定的移动平 ...
- python基础知识的学习和理解
参考链接:https://github.com/yanhualei/about_python/tree/master/python_learning/python_base python基础知识笔 ...
- 《Python编程:从入门到实践》基础知识部分学习笔记整理
简介 此笔记为<Python编程:从入门到实践>中前 11 章的基础知识部分的学习笔记,不包含后面的项目部分. 书籍评价 从系统学习 Python 的角度,不推荐此书,个人更推荐使用< ...
- React Native基础&入门教程:调试React Native应用的一小步
React Native(以下简称RN)为传统前端开发者打开了一扇新的大门.其中,使用浏览器的调试工具去Debug移动端的代码,无疑是最吸引开发人员的特性之一. 试想一下,当你在手机屏幕按下一个按钮, ...
- 1.react的基础知识
React 的基础之:JSX 语法 react 使用 JSX 语法,js 代码中可以写 HTML 代码. let myTitle = <h1>Hello, World!</h1> ...
- MySQL 基础知识梳理学习(五)----详解MySQL两次写的设计及实现
一 . 两次写提出的背景或要解决的问题 两次写(InnoDB Double Write)是Innodb中很独特的一个功能点.因为Innodb中的日志是逻辑的,所谓逻辑就是比如插入一条记录时,它可能会在 ...
随机推荐
- Alpha冲刺! Day8 - 砍柴
Alpha冲刺! Day8 - 砍柴 今日已完成 晨瑶:写了部分gitkraken团队协作教程:讨论关于继承baseActivity因为需要参数无法通过override去实现函数,并且initData ...
- python3的C3算法
一.基本概念 1. mro序列 MRO是一个有序列表L,在类被创建时就计算出来. 通用计算公式为: mro(Child(Base1,Base2)) = [ Child ] + merge( mro(B ...
- 从零上手Python关键代码
来源 https://www.kesci.com/home/project/59e4331c4663f7655c499bc3
- 容器中JVM获取真实的CPU核数
容器中JVM获取真实的CPU核数 基于 libsysconfcpus的方案,可以为各个版本的JDK提供一个通用的解决方案. libsysconfcpus.so的原理是截获JVM获取CPU核数所用的系统 ...
- 转载 锁机制与原子操作 <第四篇>
一.线程同步中的一些概念 1.1临界区(共享区)的概念 在多线程的环境中,可能需要共同使用一些公共资源,这些资源可能是变量,方法逻辑段等等,这些被多个线程共用的区域统称为临界区(共享区),临界区的资源 ...
- LBS
- CVE-2018-14634 - Linux create_elf_tables()中的整型溢出 - 翻译
原文:https://seclists.org/oss-sec/2018/q3/274 摘要 Qualys研究实验室的安全团队发现一个位于Linux内核函数create_elf_tables()中的整 ...
- Objective-C 性能监控
1.内存监控 2.卡顿监控 3.fps监控
- <转>cookie和session的区别
看到一篇讲cookie和session的文章,觉得蛮不错的,转载分享下... 原地址:http://www.lai18.com/content/407204.html?from=cancel cook ...
- [10] AOP的注解配置
1.关于配置文件 首先在因为要使用到扫描功能,所以xml的头文件中除了引入bean和aop之外,还要引入context才行: <?xml version="1.0" enco ...