• RN和IOS原生端交互


    1.RCTBridgeModule

    #import <Foundation/Foundation.h>
    #import "RCTBridgeModule.h"
    #import <React/RCTBridgeModule.h>
    @interface IOSHandler : NSObject <RCTBridgeModule>
    
    @end
    
    //~~~~~~~~~~~~~~~~~~~~~~~~~
    #import "IOSHandler.h"
    @implementation IOSHandler
    RCT_EXPORT_MODULE();
    //goPage 名称 ,astring 参数  resolver 成功回调 reject 失败回调
    //多个调用需要修改 astring 参数为其他名称,否则会报错
    RCT_REMAP_METHOD (goPage,
                      astring:(NSString *) str
                      resolver:(RCTPromiseResolveBlock)resolver
                      rejecter:(RCTPromiseRejectBlock)reject) {
      NSUserDefaults * userDefaults = [NSUserDefaults standardUserDefaults];
      id goPageTag = [userDefaults  objectForKey:@"skip_url"];
      if (goPageTag!=nil) {
        NSString * temp = goPageTag;
        if([temp isEqualToString:@"ZYRCB"]) {
          temp =@"B2C";
        } else if ([temp isEqualToString:@"ZYO2O"]) {
          temp = @"O2O";
        }
        resolver(@{@"START_FLAG":@"ZYRCB",@"flag": temp});
        
      }else {
        reject(@"400",@"",nil);
      }
    }
    

      RN调用

      var IOSHandler = require('react-native').NativeModules.IOSHandler;
            IOSHandler.goPage('').then((jsonObject) => {
       
                }
            });
    View Code
  • 相关阅读:
    HTML 网页创建
    CSS3 opacity
    两数相加的和
    九九乘法表
    Linux下的Makefile初入
    linux 下定义寄存器宏 实现类似于STM32的寄存器操作
    Linux 编译与交叉编译
    linux IMX6 汇编点亮一个LED灯
    Linux基本指令与作用
    C# Task 源代码阅读(2)
  • 原文地址:https://www.cnblogs.com/qzp2014/p/10490417.html
Copyright © 2020-2023  润新知