diff --git a/src/diff/children.js b/src/diff/children.js index cc450b435c..2c6c742798 100644 --- a/src/diff/children.js +++ b/src/diff/children.js @@ -424,7 +424,10 @@ function findMatchingIndex( if ( oldVNode === null || - (oldVNode && key == oldVNode.key && type === oldVNode.type) + (oldVNode && + key == oldVNode.key && + type === oldVNode.type && + (oldVNode._flags & MATCHED) === 0) ) { return skewedIndex; } else if (shouldSearch) {