react-native RCTBridgeModule 的初始化

IT技术 objective-c reactjs react-native
2021-05-02 03:39:06

我想知道向我的 RCTBridgeModule 添加初始化步骤的最佳方法是什么。

我当前的解决方案是声明一个必须在 AppDelegate 中调用的方法。

是否有任何其他/更好的解决方案不需要module的最终消费者向其 AppDelegate 添加代码?

我的module.h

#import <React/RCTBridgeModule.h>
#import <React/RCTEventEmitter.h>
@interface MyModule : RCTEventEmitter <RCTBridgeModule>

- (void) initialize;

@end

我的module

#import "MyModule.h"

@implementation MyModule

RCT_EXPORT_MODULE();

- (void) initialize
{
  // do some stuff
}

@end
1个回答

我通过覆盖 init 方法让它工作。这现在也被记录在案(类似于https://facebook.github.io/react-native/docs/native-modules-ios#dependency-injection)。

- (instancetype)init
{
  self = [super init];

  NSLog(@"Do some stuff here");

  return self;
}