ReactNative源码分析
ki4Coder
这个作者很懒,什么都没留下…
展开
-
ReactNative源码分析之ReactRootView
当前分析的ReactNative版本为0.61.5:首先来看ReactRootView的定义:/** * Default root view for catalyst apps. Provides the ability to listen for size changes so that a UI * manager can re-layout its elements. It dele...原创 2020-04-30 17:04:55 · 650 阅读 · 0 评论 -
ReactNative源码分析之CatalystInstance
当前分析的ReactNative版本为0.61.5:首先我们来看CatalystInstance的定义,它其实是个接口,实现类为CatalystInstanceImpl。该接口提供了Java层与JS层交互的通道。那么该接口有哪些功能呢?1.提供JSBundle的url;2.JS层和Java层通信接口(invokeCallback和callFunction);3.管理所有的JavaScri...原创 2020-04-28 15:46:49 · 838 阅读 · 0 评论 -
ReactNative源码分析之ViewManager
当前分析的ReactNative版本为0.61.5:一、ViewManager定义首先我们来看ViewManager的定义:/** * Class responsible for knowing how to create and update catalyst Views of a given type. It is also * responsible for creating an...原创 2020-04-27 21:01:15 · 755 阅读 · 0 评论 -
ReactNative源码分析之NativeModule调用堆栈分析
当前分析的ReactNative版本为0.61.5:一、NativeModule基本使用我们知道,要想访问原生提供的功能,需要通过继承NativeModule,并提供相关的方法,只有这样JS层才能直接访问。举个例子,StatusBarModule类:/** {@link NativeModule} that allows changing the appearance of the sta...原创 2020-04-25 16:12:00 · 624 阅读 · 0 评论 -
ReactNative源码分析之NativeViewHierarchyManager
当前分析的ReactNative版本为0.61.5:看这边文章前最好先了解UIManagerModule、UIImplementation、UIViewOperationQueue类;1.ReactNative源码分析之UIManagerModule.2.ReactNative源码分析之UIViewOperationQueue.3.ReactNative源码分析之UIImplementat...原创 2020-04-16 17:55:13 · 721 阅读 · 1 评论 -
ReactNative源码分析之UIViewOperationQueue
当前分析的ReactNative版本为0.61.5:看这边文章之前最好先了解UIManagerModule和UIImplementation:1.ReactNative源码分析之UIManagerModule.2.ReactNative源码分析之UIImplementation.从UIViewOperationQueue名称可知,首先该类是一个操作UIView为主,同时具有缓存功能的这样一...原创 2020-04-16 12:14:28 · 444 阅读 · 0 评论 -
ReactNative源码分析之UIImplementation
今天使用的ReactNative版本为0.61.5:之前我们讲过UIManagerModule,可参考:ReactNative源码分析之UIManagerModule.我们提到,UIManagerModule本身是个NativeModule,它通过各种ReactMethod注解方法,提供JS直接调用,大多数方法直接由UIImplementation代理。我们看下UIImplementati...原创 2020-04-10 17:31:59 · 353 阅读 · 0 评论 -
ReactNative源码分析之UIManagerModule
当前分析的ReactNative版本为0.61.5:今天的主角是UIManagerModule,我们看它的定义,本质上是个NativeModule,可以通过ReactContext访问。先来看看它的私有变量mViewManagerRegistry,该类负责管理ViewManagerName和ViewManager关系,可以通过ViewManagerName查找对应的ViewManager。代...原创 2020-04-09 18:05:06 · 1301 阅读 · 0 评论 -
ReactNative源码分析之ReactActivity启动流程
讲解ReactActivity之前,需要理清如下三个类之间的关系:1.ReactActivity;2.ReactActivityDelegate;3.ReactDelegate;通过源码我们看到,ReactAcitivy -> ReactActivityDelegate -> ReactDelegate,三者之间是包含与被包含关系;ReactActivity相关的行为都由Re...原创 2020-04-07 12:21:49 · 1012 阅读 · 0 评论 -
ReactNative源码分析之ReactContext创建流程
当前分析的ReactNative版本为:0.61.5:ReactNative中最核心的当属ReactContext,想访问ReactNative框架相关类,第一个需要的就是ReactContext。原生层定义NativeModule, 我们往往直接继承ReactContextBaseJavaModule,而该类构造函数传入的参数就是ReactApplicationContext,再来看看它的定...原创 2020-04-06 23:06:05 · 1094 阅读 · 0 评论 -
ReactNative源码分析之JavaScriptModule
当前分析的ReactNative版本为0.61.5:ReactNative中为了能访问原生功能模块,它提供了NativeModule接口,看下该接口的定义,实现比较简单,直接继承它的两个类分别是BaseJavaModule和CxxModuleWrapperBase。从名字能推断,一个是直接通过原生层实现提供Native功能。另一个是通过c++实现。目前ReactNative仅仅提供了原生层的...原创 2020-04-05 23:16:39 · 996 阅读 · 0 评论 -
ReactNative源码分析之UI事件分发
ReactNative用的版本: 0.61.5原生层事件的触发入口主要有两个类:1. ReactRootView2. 自定义的ViewManager对应的viewGroup 今天我们主要梳理ReactRootView事件传递一、ReactRootViewJavaScript中加载的View最终会依附在ReactRootView上,而该类正是Activity创建后,加载的Cont...原创 2020-04-04 13:51:55 · 1054 阅读 · 0 评论