From b8baa5e23712a11d559ea9d6e1df71265ae69a79 Mon Sep 17 00:00:00 2001 From: ClarkXia Date: Mon, 22 Aug 2022 11:06:35 +0800 Subject: [PATCH 1/2] feat: support inactive and active for cached sandbox --- packages/icestark/src/apps.ts | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/packages/icestark/src/apps.ts b/packages/icestark/src/apps.ts index 0acc5b7d..6e85fb49 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 }); } From b2560bed0602c76422bfb683c6d2a05784f10fb1 Mon Sep 17 00:00:00 2001 From: ClarkXia Date: Mon, 22 Aug 2022 11:18:58 +0800 Subject: [PATCH 2/2] fix: lint --- packages/icestark/src/apps.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/icestark/src/apps.ts b/packages/icestark/src/apps.ts index 6e85fb49..2e9422c4 100644 --- a/packages/icestark/src/apps.ts +++ b/packages/icestark/src/apps.ts @@ -456,7 +456,7 @@ export async function unmountMicroApp(appName: string) { appConfig.appSandbox = null; } } - + if (appConfig.unmount) { await appConfig.unmount({ container: appConfig.container, customProps: appConfig.props }); }