diff --git a/website/src/react-native/index.js b/website/src/react-native/index.js index 3cc9fa6dc..045626af4 100644 --- a/website/src/react-native/index.js +++ b/website/src/react-native/index.js @@ -159,7 +159,7 @@ var GeoInfo = React.createClass({

Extensibility

- It is certainly possible to create a great app using React Native without writing a single line of native code, but React Native is also designed to be easily extended with custom native views and modules - that means you can reuse anything you{"'"}ve already built, and can import and use your favorite native libraries. To create a simple module in iOS, create a new class that implements the RCTBridgeModule protocol, and add RCT_EXPORT to the function you want to make available in JavaScript. + It is certainly possible to create a great app using React Native without writing a single line of native code, but React Native is also designed to be easily extended with custom native views and modules - that means you can reuse anything you{"'"}ve already built, and can import and use your favorite native libraries. To create a simple module in iOS, create a new class that implements the RCTBridgeModule protocol, and wrap the function that you want to make available to JavaScript in RCT_EXPORT_METHOD. Additionally, the class itself must be explicitly exported with RCT_EXPORT_MODULE();.

{`// Objective-C @@ -171,9 +171,11 @@ var GeoInfo = React.createClass({ @implementation MyCustomModule -- (void)processString:(NSString *)input callback:(RCTResponseSenderBlock)callback +RCT_EXPORT_MODULE(); + +// Available as NativeModules.MyCustomModule.processString +RCT_EXPORT_METHOD(processString:(NSString *)input callback:(RCTResponseSenderBlock)callback) { - RCT_EXPORT(); // available as NativeModules.MyCustomModule.processString callback(@[[input stringByReplacingOccurrencesOfString:@"Goodbye" withString:@"Hello"];]]); } @end`}