diff --git a/packages/icestark/src/apps.ts b/packages/icestark/src/apps.ts index 0acc5b7d..2e9422c4 100644 --- a/packages/icestark/src/apps.ts +++ b/packages/icestark/src/apps.ts @@ -216,6 +216,10 @@ export async function loadAppModule(appConfig: AppConfig) { fetch, cacheId, }); + if (cached && appSandbox) { + // @ts-ignore + appSandbox?.active(); + } lifecycle = await loadScriptByFetch(appAssets.jsList, appSandbox, fetch); break; default: @@ -443,10 +447,16 @@ export async function unmountMicroApp(appName: string) { } updateAppConfig(appName, { status: UNMOUNTED }); - if (!appConfig.cached && appConfig.appSandbox) { - appConfig.appSandbox.clear(); - appConfig.appSandbox = null; + if (appConfig.appSandbox) { + if (appConfig.cached) { + // @ts-ignore + appConfig.appSandbox?.inactive(); + } else { + appConfig.appSandbox.clear(); + appConfig.appSandbox = null; + } } + if (appConfig.unmount) { await appConfig.unmount({ container: appConfig.container, customProps: appConfig.props }); }