Permalink
Browse files

Update custom iOS component section to use requireNativeComponent

  • Loading branch information...
sahrens committed Apr 21, 2015
1 parent 3e8b41f commit 1fa55c23ce2371cc9b65659f6fb61c32aa91a114
Showing with 15 additions and 5 deletions.
  1. +15 −5 README.md
View
@@ -165,7 +165,7 @@ var Message = React.createClass({
});
```
-Custom iOS views can be exposed by subclassing `RCTViewManager`, implementing a `-view` method, and exporting properties with the `RCT_EXPORT_VIEW_PROPERTY` macro. Then a simple JavaScript file connects the dots.
+Custom iOS views can be exposed by subclassing `RCTViewManager`, implementing a `-view` method, and exporting properties with the `RCT_EXPORT_VIEW_PROPERTY` macro. Then use `requireNativeComponent` in JavaScript to use the component in your app.
```objc
// Objective-C
@@ -190,10 +190,20 @@ RCT_EXPORT_VIEW_PROPERTY(myCustomProperty, NSString);
```javascript
// JavaScript
-var MyCustomView = createReactIOSNativeComponentClass({
- validAttributes: { myCustomProperty: true },
- uiViewClassName: 'MyCustomView',
-});
+var React = require('react-native');
+var { requireNativeComponent } = React;
+
+class MyCustomView extends React.Component {
+ render() {
+ return <NativeMyCustomView {...this.props} />;
+ }
+}
+MyCustomView.propTypes = {
+ myCustomProperty: React.PropTypes.oneOf(['a', 'b']),
+};
+
+var NativeMyCustomView = requireNativeComponent('MyCustomView', MyCustomView);
+module.exports = MyCustomView;
```
## Running the Examples

0 comments on commit 1fa55c2

Please sign in to comment.