|
|
@@ -1064,8 +1064,12 @@ function baseCreateRenderer(
|
|
|
|
|
|
let { patchFlag, dynamicChildren, slotScopeIds: fragmentSlotScopeIds } = n2
|
|
|
|
|
|
- if (__DEV__ && isHmrUpdating) {
|
|
|
- // HMR updated, force full diff
|
|
|
+ if (
|
|
|
+ __DEV__ &&
|
|
|
+ // #5523 dev root fragment may inherit directives
|
|
|
+ (isHmrUpdating || patchFlag & PatchFlags.DEV_ROOT_FRAGMENT)
|
|
|
+ ) {
|
|
|
+ // HMR updated / Dev root fragment (w/ comments), force full diff
|
|
|
patchFlag = 0
|
|
|
optimized = false
|
|
|
dynamicChildren = null
|
|
|
@@ -1098,8 +1102,6 @@ function baseCreateRenderer(
|
|
|
if (
|
|
|
patchFlag > 0 &&
|
|
|
patchFlag & PatchFlags.STABLE_FRAGMENT &&
|
|
|
- // #5523 dev root fragment may inherit directives so always force update
|
|
|
- !(__DEV__ && patchFlag & PatchFlags.DEV_ROOT_FRAGMENT) &&
|
|
|
dynamicChildren &&
|
|
|
// #2715 the previous fragment could've been a BAILed one as a result
|
|
|
// of renderSlot() with no valid children
|