@samitouri / QOS-React-2 / commits / 1f2d9b208d

Add nodes to DocumentFragments before attaching

Paul O’Shannessy committed Mar 11, 2016 at 10:22 UTC 1f2d9b208d72b0461e2550c664c26728331d028e
1 file changed +10 -2
src/renderers/dom/client/utils/DOMLazyTree.js
+10 -2
@@ -53,8 +53,16 @@ function insertTreeChildren(tree) {
53
54 var insertTreeBefore = createMicrosoftUnsafeLocalFunction(
55 function(parentNode, tree, referenceNode) {
56 - parentNode.insertBefore(tree.node, referenceNode);
57 - insertTreeChildren(tree);
56 + // Document Fragments in IE11, Edge (and possibly others) won't update
57 + // correctly if they are already inserted. So we have to break out of our
58 + // lazy approach and append children to the fragment before inserting it.
59 + if (tree.node.nodeType === 11) {
60 + insertTreeChildren(tree);
61 + parentNode.insertBefore(tree.node, referenceNode);
62 + } else {
63 + parentNode.insertBefore(tree.node, referenceNode);
64 + insertTreeChildren(tree);
65 + }
66 }
67 );
68