Fix full-page rendering
Closes #337. Test Plan: Opened react-page sample without any JS errors. Also ran grunt test after cherry-picking this changeset on top of #338.
Ben Alpert committed
Sep 10, 2013 at 22:54 UTC
58fae896fe60647b537e20e7f2281e0c377d59f0
1 file changed
+11
-5
src/core/ReactMount.js
+11
-5
@@ -28,6 +28,9 @@ var SEPARATOR = ReactInstanceHandles.SEPARATOR;
28
var ATTR_NAME = 'data-reactid';
29
var nodeCache = {};
30
31
+var ELEMENT_NODE_TYPE = 1;
32
+var DOC_NODE_TYPE = 9;
33
+
34
var $ = require('$');
35
36
/** Mapping from reactRootID to React component instance. */
@@ -235,13 +238,16 @@ var ReactMount = {
238
*/
239
prepareEnvironmentForDOM: function(container) {
240
invariant(
238
- container && container.nodeType === 1,
241
+ container && (
242
+ container.nodeType === ELEMENT_NODE_TYPE ||
243
+ container.nodeType === DOC_NODE_TYPE
244
+ ),
245
'prepareEnvironmentForDOM(...): Target container is not a DOM element.'
246
);
241
- ReactEventEmitter.ensureListening(
242
- ReactMount.useTouchEvents,
243
- container.ownerDocument
244
- );
247
+ var doc = container.nodeType === ELEMENT_NODE_TYPE ?
248
+ container.ownerDocument :
249
+ container;
250
+ ReactEventEmitter.ensureListening(ReactMount.useTouchEvents, doc);
251
},
252
253
/**