美文网首页
ReactNative iOS源码解析(二)

ReactNative iOS源码解析(二)

作者: ZhaoXianSheng | 来源:发表于2018-02-28 15:33 被阅读58次

    一.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里面进行

    相关文章

      网友评论

          本文标题:ReactNative iOS源码解析(二)

          本文链接:https://www.haomeiwen.com/subject/ngzbxftx.html