react-native/Libraries
Satyajit Sahoo 803cb61346 Show better error message when accessing React APIs on React Native
Summary:
**Motivation:**

Lots of examples on the web still have the old way to import React APIs from React Native. Also when someone upgrades to latest version of React Native without reading the release notes can get confused. This PR adds getters for  `createClass` and `Component` and throws an error with a better error message when they are accessed.

![screenshot_20160614-125622](https://cloud.githubusercontent.com/assets/1174278/16034600/47c70222-3230-11e6-9fe4-1a3493708829.png)

**Test plan:**

Trying to use `ReactNative.createClass` or `ReactNative.Component` will throw an error with this error message.

There's currently a bug in `symbolicateStackTrace` which actually crashes the app after showing the error due to the `stack` being null when updating the stack trace. But that's a separate issue which should be fixed separately. For now, to prevent the crash, we need to add the following before the return statement here - https://github.com/facebook/react-native/blob/master/Libraries/JavaScriptAppEn
Closes https://github.com/facebook/react-native/pull/8099

Differential Revision: D3430468

Pulled By: javache

fbshipit-source-id: c098e51e1f2c276d87eca6da3bd91a457d7840c5
2016-06-14 06:28:26 -07:00
..
ART Fixed ART views 2016-06-08 00:13:30 -07:00
ActionSheetIOS Update RCTActionSheetManager.m 2016-06-04 16:28:19 -07:00
AdSupport
Animated Delay some requires in Animated 2016-06-14 05:14:01 -07:00
AppRegistry Refactor BugReporing to avoid multiple registers 2016-05-18 14:28:26 -07:00
AppState Updated AppState module to use new emitter system 2016-05-23 09:13:37 -07:00
BatchedBridge Memoize lazy module configs 2016-05-16 03:58:23 -07:00
BugReporting Make BugReporting not pull in native module on require 2016-05-19 12:58:21 -07:00
CameraRoll Fixed website generation for CameraRoll.js 2016-06-08 04:13:49 -07:00
Components Replace deprecated ActivityIndicatorIOS and ProgressBar with ActivityIndicator 2016-06-13 22:28:24 -07:00
CustomComponents Remove prop `onNavigate`. 2016-06-09 17:58:27 -07:00
DebugComponentHierarchy Move React Core Integration to a Dependency 2016-04-21 09:28:23 -07:00
Devtools Move React Core Integration to a Dependency 2016-04-21 09:28:23 -07:00
EventEmitter Add a removeListener method to DeviceEventEmitter for Framework consi… 2016-05-24 11:45:51 -07:00
Experimental Lazier loading spinner 2016-06-13 18:13:33 -07:00
Fetch Reject promise if network request failed 2016-03-08 16:37:24 -08:00
Geolocation Update RCTNetworking, RCTNetInfo and RCTLocationManager to use new events system 2016-05-25 04:28:36 -07:00
Image Support multi sources for images 2016-06-13 14:13:25 -07:00
Inspector Remove unused rootTag 2016-06-08 14:43:30 -07:00
Interaction Make InteractionManager tasks cancellable 2016-06-08 22:58:19 -07:00
JavaScriptAppEngine Fix polyfillLazyGlobal to work with allowTopLevelThis = false 2016-06-13 15:58:36 -07:00
LayoutAnimation Properly validate layout animation config 2016-06-07 16:28:29 -07:00
Linking Hook up Android intent to Linking.js #7079 2016-06-05 18:58:24 -07:00
LinkingIOS Updated Linking and PushNotificationIOS modules to use NativeEventEmitter 2016-05-27 10:28:23 -07:00
Modal explicit type args in react-native-github 2016-05-24 18:28:26 -07:00
NativeAnimation Add support for native animations on iOS 2016-06-09 10:43:51 -07:00
NavigationExperimental Remove prop `onNavigate`. 2016-06-09 17:58:27 -07:00
Network v0.27.0: fbsource 2016-06-13 14:28:25 -07:00
PushNotificationIOS Instantiate local notifications different than remote notifications 2016-06-14 06:13:25 -07:00
QuickPerformanceLogger
RCTTest Updated AppState module to use new emitter system 2016-05-23 09:13:37 -07:00
RKBackendNode Move React Core Integration to a Dependency 2016-04-21 09:28:23 -07:00
ReactIOS Unify renderApplication across iOS and Android 2016-06-13 16:44:04 -07:00
ReactNative Move React Core Integration to a Dependency 2016-04-21 09:28:23 -07:00
Sample Remove knowledge of fbjs from the packager 2016-03-02 04:28:38 -08:00
Settings Updated AppState module to use new emitter system 2016-05-23 09:13:37 -07:00
Storage change undeclared variable to intended value 2016-05-26 01:43:30 -07:00
StyleSheet Add support for reverse flex directions on Android and iOS 2016-06-10 03:28:45 -07:00
Text adds textAlignment to placeholder to match textViews alignment (for m… 2016-06-10 20:28:23 -07:00
Utilities Show better error message when accessing React APIs on React Native 2016-06-14 06:28:26 -07:00
Vibration Add support for vibration patterns 2016-03-29 21:45:20 -07:00
WebSocket Changed the host for RCTWebSocketExecutor to the one retrieved from the bridge. 2016-06-13 13:28:28 -07:00
react-native Show better error message when accessing React APIs on React Native 2016-06-14 06:28:26 -07:00
vendor Fixed NativeEventListener deregistration 2016-05-16 04:13:56 -07:00
Promise.js Remove knowledge of fbjs from the packager 2016-03-02 04:28:38 -08:00
promiseRejectionIsError.js Add possibility to `console.error`/redbox on promise rejections 2016-03-15 05:22:22 -07:00