一.ReactNative 结构图
react.jpg二 .ReactNative 类图
RCTRoot.jpg三 . ReactNative 如何桥接
遵循RN的协议RCTBridgeModule 协议,贴出我自己写的OC 供 JSX 调用的例子
.h
#import <Foundation/Foundation.h>
#import <React/RCTBridgeModule.h>
#import <React/RCTLog.h>
@interface OCModelParam : NSObject<RCTBridgeModule>
@end
.m
#import "OCModelParam.h"
@implementation OCModelParam
//暴露给React 使用
RCT_EXPORT_MODULE()
RCT_EXPORT_METHOD(reactParam:(NSString *)param)
{
RCTLogInfo(@"%@", param);
}
@end
四. 比较重要的几个类
1.RCTBridge 持有了另一个RCTBatchBridge对象
2.BatchBridge 会通过RCTJavaScriptLoader来加载JSBundle
3.RCTModuleXX 组件都是RCTModuleData,
五 执行流程表
08840AEB-8702-44CF-B99C-44286E2385D7.png六 执行
所有JS/OC之间的通信,都是通过RCTJSExecutor,都是在RCTJSExecutor内部所在的Thread里面进行
网友评论