react-native/Libraries/ReactNative
Kevin Gozali fb7fe2d4e8 modernize AppContainer and add rootTag in the child context
Summary:
This does 2 things:
- modernize the component to use ES6 + flow
- assign `rootTag` to the child context

Each view in RN has its own `reactTag`. The reactTag for a root view is called `rootTag`. When there are multiple react root views active within the app (e.g. in a hybrid environment), rootTag is the only reliable "label" to differentiate them. This is especially useful when we want to limit an event/activity on a particular root view, instead of affecting all active root views. This allows components to do:

```
class Foo extends React.Component {
  static contextTypes = {
    rootTag: React.PropTypes.number,
  };

  componentDidMount() {
    // Get the root tag of this component, which is static for all components under the same root view
    console.log(this.context.rootTag);
  }
}
```

In a pure JS RN app environment, there will always be exactly 1 root view, so `rootTag` may usually be ignored.

Reviewed By: yungsters

Differential Revision: D4130376

fbshipit-source-id: 559b67615f487bad754b5832ad4a02bcef05be2a
2016-11-06 20:58:34 -08:00
..
AppContainer.js modernize AppContainer and add rootTag in the child context 2016-11-06 20:58:34 -08:00
AppRegistry.js RN: Require {react/lib/ => }ReactNative 2016-10-14 18:59:10 -07:00
I18nManager.js Reorganize core JS files 2016-10-11 10:14:28 -07:00
UIManager.js RN: Update React (2/2) 2016-11-04 05:43:44 -07:00
UIManagerStatTracker.js Wrapped UIManager native module for better abstraction 2015-11-27 07:00:32 -08:00
YellowBox.js Reorganize core JS files 2016-10-11 10:14:28 -07:00
queryLayoutByID.js Reorganize core JS files 2016-10-11 10:14:28 -07:00
renderApplication.js modernize AppContainer and add rootTag in the child context 2016-11-06 20:58:34 -08:00
requireNativeComponent.js RN: Update React (2/2) 2016-11-04 05:43:44 -07:00
verifyPropTypes.js Reorganize core JS files 2016-10-11 10:14:28 -07:00