/** * Copyright (c) 2015-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule renderApplication * @noflow */ 'use strict'; var RCTDeviceEventEmitter = require('RCTDeviceEventEmitter'); var React = require('React'); var StyleSheet = require('StyleSheet'); var Subscribable = require('Subscribable'); var View = require('View'); var invariant = require('invariant'); var Inspector = __DEV__ ? require('Inspector') : null; var YellowBox = __DEV__ ? require('YellowBox') : null; var AppContainer = React.createClass({ mixins: [Subscribable.Mixin], getInitialState: function() { return { inspector: null }; }, toggleElementInspector: function() { var inspector = !__DEV__ || this.state.inspector ? null : ; this.setState({inspector}); }, componentDidMount: function() { this.addListenerOn( RCTDeviceEventEmitter, 'toggleElementInspector', this.toggleElementInspector ); }, render: function() { let yellowBox = null; if (__DEV__) { yellowBox = ; } return ( {this.props.children} {yellowBox} {this.state.inspector} ); } }); function renderApplication( RootComponent: ReactClass, initialProps: P, rootTag: any ) { invariant( rootTag, 'Expect to have a valid rootTag, instead got ', rootTag ); /* eslint-disable jsx-no-undef-with-namespace */ React.render( , rootTag ); /* eslint-enable jsx-no-undef-with-namespace */ } var styles = StyleSheet.create({ appContainer: { flex: 1, }, }); module.exports = renderApplication;