如何在 react-native 中实现 native 模块?

How to Implement native module in react-native?

我正在按照本指南进行操作 http://facebook.github.io/react-native/docs/nativemodulesios.html#content

还有这个网站: http://colinramsay.co.uk/2015/03/27/react-native-simple-native-module.html

但是无论我在哪里添加 .h 和 .m 文件我总是得到错误: Class Class名称未导出您是否忘记使用 RTC_EXPORT_MODULE()?

即使它与 react-native 文档中示例的代码相同,谁能指导我在哪里添加 .h 和 .m 文件并正确地 link 将它们添加到项目中? 谢谢

本机模块发生了变化 API,文档似乎没有相应更新。根据我文章中的示例,SomeString.m 应如下所示:

//  SomeString.m
#import "SomeString.h"

@implementation SomeString

RCT_EXPORT_MODULE();

RCT_EXPORT_METHOD(get:(RCTResponseSenderBlock)callback)
{ 
  // Change this depending on what you want to retrieve:
  NSString* someString = @"something";

  callback(@[someString]);
}

@end

这最终得到了想要的结果,您可以像以前一样从 JS 调用它。看起来这只是刚刚发生的事情:

https://github.com/facebook/react-native/commit/0686b0147c8c8084e4a226b7ea04585362eccea8

您也可以只向要导出的任何方法添加普通的 RCT_EXPORT();。很有魅力。