从iOS本机模块(插件)调用React Native函数需要经过以下几个步骤:
下面是一个示例的步骤:
#import <React/RCTBridgeModule.h>
@interface NativeModule : NSObject <RCTBridgeModule>
@end
Objective-C:
#import "NativeModule.h"
@implementation NativeModule
RCT_EXPORT_MODULE();
RCT_EXPORT_METHOD(performAction:(NSString *)param callback:(RCTResponseSenderBlock)callback)
{
// 在这里执行相应的本机操作,可以使用param参数传递信息
// 完成操作后,使用callback回调函数将结果返回给React Native代码
callback(@[[NSNull null], @"操作成功"]);
}
@end
Swift:
import Foundation
import React
@objc(NativeModule)
class NativeModule: NSObject {
@objc
static func requiresMainQueueSetup() -> Bool {
return true
}
@objc
func performAction(_ param: String, callback: @escaping RCTResponseSenderBlock) {
// 在这里执行相应的本机操作,可以使用param参数传递信息
// 完成操作后,使用callback回调函数将结果返回给React Native代码
callback([NSNull(), "操作成功"])
}
}
import { NativeModules } from 'react-native';
const { NativeModule } = NativeModules;
// 调用本机函数
NativeModule.performAction('参数值', (error, result) => {
if (error) {
console.error(error);
} else {
console.log(result);
}
});
这样就完成了从iOS本机模块(插件)调用React Native函数的过程。根据具体的需求和实际场景,可以根据需要传递参数和处理返回结果。
领取专属 10元无门槛券
手把手带您无忧上云