diff --git a/modules/code-generator/src/plugins/component/react/containerLifeCycle.ts b/modules/code-generator/src/plugins/component/react/containerLifeCycle.ts index 75dcada63..5f7d6d22a 100644 --- a/modules/code-generator/src/plugins/component/react/containerLifeCycle.ts +++ b/modules/code-generator/src/plugins/component/react/containerLifeCycle.ts @@ -16,13 +16,14 @@ import { isJSFunction, isJSExpression } from '@alilc/lowcode-types'; import { isJSExpressionFn } from '../../../utils/common'; export interface PluginConfig { - fileType: string; - exportNameMapping: Record; - normalizeNameMapping: Record; + fileType?: string; + exportNameMapping?: Record; + normalizeNameMapping?: Record; + exclude?: string[]; } const pluginFactory: BuilderComponentPluginFactory = (config?) => { - const cfg: PluginConfig = { + const cfg = { fileType: FileType.JSX, exportNameMapping: {}, normalizeNameMapping: {}, @@ -56,6 +57,10 @@ const pluginFactory: BuilderComponentPluginFactory = (config?) => normalizeName = cfg.normalizeNameMapping[lifeCycleName] || lifeCycleName; } + if (cfg?.exclude?.includes(normalizeName)) { + return null; + } + const exportName = cfg.exportNameMapping[lifeCycleName] || lifeCycleName; if (normalizeName === 'constructor') { return { @@ -97,7 +102,7 @@ const pluginFactory: BuilderComponentPluginFactory = (config?) => }), linkAfter: [...DEFAULT_LINK_AFTER[CLASS_DEFINE_CHUNK_NAME.InsMethod]], }; - }); + }).filter((i) => !!i); next.chunks.push(...chunks.filter((x): x is ICodeChunk => x !== null)); }