From 9d38c12630fcd9e51da68fd5a2f8031f1e57f649 Mon Sep 17 00:00:00 2001 From: Leo Horie Date: Thu, 11 Aug 2016 00:28:03 -0400 Subject: [PATCH] don't move element if not needed --- render/render.js | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/render/render.js b/render/render.js index bc224acf..09daa105 100644 --- a/render/render.js +++ b/render/render.js @@ -140,7 +140,7 @@ module.exports = function($window) { if (o === v) oldEnd--, start++ else if (o != null && v != null && o.key === v.key) { updateNode(parent, o, v, hooks, getNextSibling(old, oldEnd + 1, nextSibling), recycling, ns) - insertNode(parent, toFragment(o), getNextSibling(old, oldStart, nextSibling)) + if (start < end) insertNode(parent, toFragment(o), getNextSibling(old, oldStart, nextSibling)) oldEnd--, start++ } else break @@ -516,10 +516,7 @@ module.exports = function($window) { var active = $doc.activeElement // First time rendering into a node clears it out - if (dom.vnodes == null) { - dom.vnodes = [] - dom.textContent = ""; - } + if (dom.vnodes == null) dom.textContent = "" if (!(vnodes instanceof Array)) vnodes = [vnodes] updateNodes(dom, dom.vnodes, Vnode.normalizeChildren(vnodes), hooks, null, undefined)