Skip to content

Commit 73f4dc5

Browse files
committed
Merge pull request #3169 from jsfb/mount-into-shadowdom
Allow rendering into document fragments. Fixes #840
2 parents 1011267 + 93f6fc9 commit 73f4dc5

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

src/browser/ui/ReactMount.js

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ var nodeCache = {};
4141

4242
var ELEMENT_NODE_TYPE = 1;
4343
var DOC_NODE_TYPE = 9;
44+
var DOCUMENT_FRAGMENT_NODE_TYPE = 11;
4445

4546
/** Mapping from reactRootID to React component instance. */
4647
var instancesByReactRootID = {};
@@ -355,7 +356,8 @@ var ReactMount = {
355356
invariant(
356357
container && (
357358
container.nodeType === ELEMENT_NODE_TYPE ||
358-
container.nodeType === DOC_NODE_TYPE
359+
container.nodeType === DOC_NODE_TYPE ||
360+
container.nodeType === DOCUMENT_FRAGMENT_NODE_TYPE
359361
),
360362
'_registerComponent(...): Target container is not a DOM element.'
361363
);
@@ -590,7 +592,8 @@ var ReactMount = {
590592
invariant(
591593
container && (
592594
container.nodeType === ELEMENT_NODE_TYPE ||
593-
container.nodeType === DOC_NODE_TYPE
595+
container.nodeType === DOC_NODE_TYPE ||
596+
container.nodeType === DOCUMENT_FRAGMENT_NODE_TYPE
594597
),
595598
'unmountComponentAtNode(...): Target container is not a DOM element.'
596599
);
@@ -801,7 +804,8 @@ var ReactMount = {
801804
invariant(
802805
container && (
803806
container.nodeType === ELEMENT_NODE_TYPE ||
804-
container.nodeType === DOC_NODE_TYPE
807+
container.nodeType === DOC_NODE_TYPE ||
808+
container.nodeType === DOCUMENT_FRAGMENT_NODE_TYPE
805809
),
806810
'mountComponentIntoNode(...): Target container is not valid.'
807811
);

0 commit comments

Comments
 (0)