Strip isomorphic stuff from the ReactNative module
Also, add a shim for the isomorphic module for ios and android so that react-native doesn't pull in react-dom when React is required.
Sebastian Markbage committed
Aug 12, 2015 at 01:55 UTC
91e62c718b4fc47fd67b18697dc495275bb64550
1 file changed
-64
src/renderers/native/ReactNative/ReactNative.js
-64
@@ -15,61 +15,16 @@
15
// the JS environment
16
var ReactNativeDefaultInjection = require('ReactNativeDefaultInjection');
17
18
-var ReactChildren = require('ReactChildren');
19
-var ReactClass = require('ReactClass');
20
-var ReactComponent = require('ReactComponent');
18
var ReactCurrentOwner = require('ReactCurrentOwner');
19
var ReactElement = require('ReactElement');
23
-var ReactElementValidator = require('ReactElementValidator');
20
var ReactInstanceHandles = require('ReactInstanceHandles');
21
var ReactNativeMount = require('ReactNativeMount');
26
-var ReactPropTypes = require('ReactPropTypes');
22
var ReactUpdates = require('ReactUpdates');
23
24
var findNodeHandle = require('findNodeHandle');
30
-var invariant = require('fbjs/lib/invariant');
31
-var onlyChild = require('onlyChild');
32
-var warning = require('fbjs/lib/warning');
25
26
ReactNativeDefaultInjection.inject();
27
36
-var createElement = ReactElement.createElement;
37
-var createFactory = ReactElement.createFactory;
38
-var cloneElement = ReactElement.cloneElement;
39
-
40
-if (__DEV__) {
41
- createElement = ReactElementValidator.createElement;
42
- createFactory = ReactElementValidator.createFactory;
43
- cloneElement = ReactElementValidator.cloneElement;
44
-}
45
-
46
-var resolveDefaultProps = function(element) {
47
- // Could be optimized, but not currently in heavy use.
48
- var defaultProps = element.type.defaultProps;
49
- var props = element.props;
50
- for (var propName in defaultProps) {
51
- if (props[propName] === undefined) {
52
- props[propName] = defaultProps[propName];
53
- }
54
- }
55
-};
56
-
57
-// Experimental optimized element creation
58
-var augmentElement = function(element: ReactElement): ReactElement {
59
- if (__DEV__) {
60
- invariant(
61
- false,
62
- 'This optimized path should never be used in DEV mode because ' +
63
- 'it does not provide validation. Check your JSX transform.'
64
- );
65
- }
66
- element._owner = ReactCurrentOwner.current;
67
- if (element.type.defaultProps) {
68
- resolveDefaultProps(element);
69
- }
70
- return element;
71
-};
72
-
28
var render = function(
29
element: ReactElement,
30
mountInto: number,
@@ -80,20 +35,6 @@ var render = function(
35
36
var ReactNative = {
37
hasReactNativeInitialized: false,
83
- Children: {
84
- map: ReactChildren.map,
85
- forEach: ReactChildren.forEach,
86
- count: ReactChildren.count,
87
- toArray: ReactChildren.toArray,
88
- only: onlyChild
89
- },
90
- Component: ReactComponent,
91
- PropTypes: ReactPropTypes,
92
- createClass: ReactClass.createClass,
93
- createElement: createElement,
94
- createFactory: createFactory,
95
- cloneElement: cloneElement,
96
- _augmentElement: augmentElement,
38
findNodeHandle: findNodeHandle,
39
render: render,
40
unmountComponentAtNode: ReactNativeMount.unmountComponentAtNode,
@@ -102,12 +43,7 @@ var ReactNative = {
43
unstable_batchedUpdates: ReactUpdates.batchedUpdates,
44
/* eslint-enable camelcase */
45
105
- // Hook for JSX spread, don't use this for anything else.
106
- __spread: Object.assign,
107
-
46
unmountComponentAtNodeAndRemoveContainer: ReactNativeMount.unmountComponentAtNodeAndRemoveContainer,
109
- isValidClass: ReactElement.isValidFactory,
110
- isValidElement: ReactElement.isValidElement,
47
48
// Deprecations (remove for 0.13)
49
renderComponent: function(