Expose in public interface

Summary:
Allows you to do:
```
var { RecyclerViewBackedScrollView } = require('react-native')
```

Rather than:
```
var RecyclerViewBackedScrollView = require('react-native/Libraries/Components/ScrollView/RecyclerViewBackedScrollView')
```

Also...

- Export `ScrollView` by default rather than `UnimplementedView` for `RecyclerViewBackedScrollView` on iOS -- this makes it easier on the user, so you don't have to always do a conditional for: `if IOS then use ScrollView else use RecyclerViewBackedScrollView`. I can't think of a case where this would lead to undesirable behaviour.
- Add `RecyclerViewBackedScrollView` to `MainReactPackage`
- Fix an issue with `MapView` that threw a red-screen when trying to access constants on Android because there is no `MapView` in open source and MapView.js doesn't have a platform extension.
Closes https://github.com/facebook/react-native/pull/4514

Reviewed By: svcscm

Differential Revision: D2753466

Pulled By: mkonicek

fb-gh-sync-id: 0b6e2133975c911d5117e7531cb9093faf314c52
This commit is contained in:
Brent Vatne
2015-12-22 09:02:12 -08:00
committed by facebook-github-bot-3
parent 15aa146255
commit 6df737d1e7
6 changed files with 24 additions and 19 deletions

View File

@@ -5,4 +5,4 @@
*/
'use strict';
module.exports = require('UnimplementedView');
module.exports = require('ScrollView');

View File

@@ -32,6 +32,7 @@ var ReactNative = {
get SnapshotViewIOS() { return require('SnapshotViewIOS'); },
get Switch() { return require('Switch'); },
get PullToRefreshViewAndroid() { return require('PullToRefreshViewAndroid'); },
get RecyclerViewBackedScrollView() { return require('RecyclerViewBackedScrollView'); },
get SwitchAndroid() { return require('SwitchAndroid'); },
get SwitchIOS() { return require('SwitchIOS'); },
get TabBarIOS() { return require('TabBarIOS'); },
@@ -101,7 +102,7 @@ var ReactNative = {
get createFragment() { return require('ReactFragment').create; },
get update() { return require('update'); },
},
// Note: this must be placed last to prevent eager
// evaluation of the getter-wrapped submodules above
...require('React'),
@@ -109,11 +110,11 @@ var ReactNative = {
if (__DEV__) {
Object.defineProperty(ReactNative.addons, 'Perf', {
enumerable: true,
enumerable: true,
get: () => require('ReactDefaultPerf'),
});
Object.defineProperty(ReactNative.addons, 'TestUtils', {
enumerable: true,
enumerable: true,
get: () => require('ReactTestUtils'),
});
}

View File

@@ -44,6 +44,7 @@ var ReactNative = Object.assign(Object.create(require('React')), {
SnapshotViewIOS: require('SnapshotViewIOS'),
Switch: require('Switch'),
PullToRefreshViewAndroid: require('PullToRefreshViewAndroid'),
RecyclerViewBackedScrollView: require('RecyclerViewBackedScrollView'),
SwitchAndroid: require('SwitchAndroid'),
SwitchIOS: require('SwitchIOS'),
TabBarIOS: require('TabBarIOS'),