似乎React Native可以集成iOS项目并将其用作正常的React组件,但是我已经阅读了官方文档,发现没有完整的演示,有没有简单的方法演示如何做开始到结束?
答案 0 :(得分:2)
您正在寻找的是React Native模块
https://facebook.github.io/react-native/docs/native-modules-ios
在文档中,他们提供了以下示例,您可以按照以下示例进行实施,然后进行修改以适合您的需求。
// CalendarManager.h #import <React/RCTBridgeModule.h> @interface CalendarManager : NSObject <RCTBridgeModule> @end
// CalendarManager.m #import "CalendarManager.h" #import <React/RCTLog.h> @implementation CalendarManager RCT_EXPORT_MODULE(); RCT_EXPORT_METHOD(addEvent:(NSString *)name location:(NSString *)location) { RCTLogInfo(@"Pretending to create an event %@ at %@", name, location); }
该示例实际上并没有执行任何操作,只是创建了一个名为CalendarManager.addEvent
的方法,您可以从React Native中调用该方法,该方法将使用RCTLog
控制台记录一些内容。
.h file
-将iOS连接到React Native的头文件,除了显示的内容(更改为与模块名称匹配)以外,这里几乎没有其他内容.m file
-定义您在JavaScript中调用的方法的模块文件,可以在其中调用SDK方法。@implementation CalendarManager
-在这里为模块命名,因此您可以使用NativeModules.CalendarManager
RCT_EXPORT_MODULE()
-定义该文件是React Native模块RCT_EXPORT_METHOD()
-定义可以从React Native调用的方法。您可以根据需要选择任意数量的在RCT_EXPORT_METHOD()
定义中,您可以使用传递的任何参数调用SDK。
讨论参数时,有不同的类型,定义如下:
- 字符串(NSString)
- 编号(NSInteger,float,double,CGFloat,NSNumber)
- 布尔值(布尔值,NSNumber)
此列表中任何类型的- array(NSArray)
- 带有此列表中任何类型的字符串键和值的对象(NSDictionary)
- 功能(RCTResponseSenderBlock)