wip: save

This commit is contained in:
daiwei 2025-03-26 21:09:15 +08:00
parent b474ce0a1e
commit c1547b580c
2 changed files with 8 additions and 6 deletions

View File

@ -25,18 +25,20 @@ import { renderEffect } from '../renderEffect'
import { extend, isArray } from '@vue/shared' import { extend, isArray } from '@vue/shared'
import { EffectScope, pauseTracking, resetTracking } from '@vue/reactivity' import { EffectScope, pauseTracking, resetTracking } from '@vue/reactivity'
export const teleportStack: TeleportFragment[] = [] export const teleportStack: TeleportFragment[] = __DEV__
? ([] as TeleportFragment[])
: (undefined as any)
export const instanceToTeleportMap: WeakMap< export const instanceToTeleportMap: WeakMap<
VaporComponentInstance, VaporComponentInstance,
TeleportFragment TeleportFragment
> = __DEV__ ? new WeakMap() : (null as any) > = __DEV__ ? new WeakMap() : (undefined as any)
/** /**
* dev only. * dev only.
* when the **root** child component updates, synchronously update * when the root child component updates, synchronously update
* the TeleportFragment's children and nodes. * the TeleportFragment's children and nodes.
*/ */
export function handleTeleportChildrenHmrReload( export function handleTeleportRootComponentHmrReload(
instance: VaporComponentInstance, instance: VaporComponentInstance,
newInstance: VaporComponentInstance, newInstance: VaporComponentInstance,
): void { ): void {

View File

@ -13,7 +13,7 @@ import {
mountComponent, mountComponent,
unmountComponent, unmountComponent,
} from './component' } from './component'
import { handleTeleportChildrenHmrReload } from './components/Teleport' import { handleTeleportRootComponentHmrReload } from './components/Teleport'
export function hmrRerender(instance: VaporComponentInstance): void { export function hmrRerender(instance: VaporComponentInstance): void {
const normalized = normalizeBlock(instance.block) const normalized = normalizeBlock(instance.block)
@ -55,5 +55,5 @@ export function hmrReload(
) )
simpleSetCurrentInstance(prev, instance.parent) simpleSetCurrentInstance(prev, instance.parent)
mountComponent(newInstance, parent, anchor) mountComponent(newInstance, parent, anchor)
handleTeleportChildrenHmrReload(instance, newInstance) handleTeleportRootComponentHmrReload(instance, newInstance)
} }