React Native | 创建IOS原生模块

简单使用

1.创建模块文件

首先用XCode打开我们的项目,然后选中project-> 右击选择”new file”,然后根据下图建立class:
image.png

image.png

2.RNHello.m

#import "RNHello.h"
#import <React/RCTLog.h>

@implementation RNHello

// To export a module named CalendarManager
RCT_EXPORT_MODULE();

// This would name the module AwesomeCalendarManager instead
// RCT_EXPORT_MODULE(AwesomeCalendarManager);
RCT_EXPORT_METHOD(addEvent:(NSString *)name location:(NSString *)location)
{
  RCTLogInfo(@"Pretending to create an event %@ at %@", name, location);
}
@end

3.RNHello.h

#import <React/RCTBridgeModule.h>

@interface RNHello : NSObject <RCTBridgeModule>
@end

4.使用

import { Button, View, NativeModules } from "react-native";

const test = () => {
  const onNative = () => {
    NativeModules.RNHello.addEvent("sssss", "sssd");
  };
  
  return (
      <Button title="Native" onPress={onNative} />
  )
}
  

然后用XCode打开我们的项目,运行起来之后点击按钮,可以在XCode控制台看到输出的日志。

Callback

1.将下列代码复制到m文件里

image.png
将下面的代码复制到文件RNHello.m文件里:

RCT_EXPORT_METHOD(findEvents:(RCTResponseSenderBlock)callback)  
{  
callback(@[@"hello from native ios"]);  
}

然后重新运行项目。

更改我们的onNative方法:

const onNative = () => {
-  NativeModules.RNHello.addEvent("sssss", "sssd");
+     NativeModules.RNHello.findEvents((res) => {
+        alert(res);
+     });
};
  

然后点击按钮就会出现一个alert。

相关链接

© 版权声明
THE END
喜欢就支持一下吧
点赞10 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容