diff --git a/packages/react-simulator-renderer/src/renderer.ts b/packages/react-simulator-renderer/src/renderer.ts index db64f5b75..21a6699ac 100644 --- a/packages/react-simulator-renderer/src/renderer.ts +++ b/packages/react-simulator-renderer/src/renderer.ts @@ -332,7 +332,7 @@ export class SimulatorRendererContainer implements BuiltinSimulatorRenderer { ...this._components, }; } - private _components: any = {}; + @obx.ref private _components: any = {}; get components(): object { // 根据 device 选择不同组件,进行响应式 diff --git a/packages/renderer-core/src/renderer/base.tsx b/packages/renderer-core/src/renderer/base.tsx index d4134c694..d41414030 100644 --- a/packages/renderer-core/src/renderer/base.tsx +++ b/packages/renderer-core/src/renderer/base.tsx @@ -421,7 +421,14 @@ export default function baseRendererFactory() { if (!Comp) { console.error(`${schema.componentName} is not found! component list is:`, components || this.props.__container?.components); - Comp = engine.getNotFoundComponent(); + return engine.createElement( + engine.getNotFoundComponent(), + { + componentName: schema.componentName, + componentId: schema.id, + }, + this.__getSchemaChildrenVirtualDom(schema, scope, Comp), + ); } if (schema.hidden && (engine?.props?.designMode && engine?.props?.designMode !== 'design')) {