소스 검색

fix(hmr): static child traversal should only affect elements

Evan You 6 년 전
부모
커밋
2bc6a8c1cf
1개의 변경된 파일6개의 추가작업 그리고 1개의 파일을 삭제
  1. 6 1
      packages/runtime-core/src/renderer.ts

+ 6 - 1
packages/runtime-core/src/renderer.ts

@@ -1984,7 +1984,12 @@ function baseCreateRenderer(
       for (let i = 0; i < ch1.length; i++) {
         const c1 = ch1[i]
         const c2 = ch2[i]
-        if (isVNode(c1) && isVNode(c2) && !c2.dynamicChildren) {
+        if (
+          isVNode(c1) &&
+          isVNode(c2) &&
+          c2.shapeFlag & ShapeFlags.ELEMENT &&
+          !c2.dynamicChildren
+        ) {
           if (c2.patchFlag <= 0) {
             c2.el = c1.el
           }