@@ -4,14 +4,11 @@ import contextFactory from '../context';
44import { isFileSchema , isEmpty } from '../utils' ;
55import baseRendererFactory from './base' ;
66import divFactory from '../components/Div' ;
7- import { IGeneralConstructor , IRenderComponent , IRendererProps , IRendererState } from '../types' ;
8- import { RootSchema } from '@alilc/lowcode-types' ;
7+ import { IRenderComponent , IRendererProps , IRendererState } from '../types' ;
8+ import { NodeSchema , RootSchema } from '@alilc/lowcode-types' ;
99
1010export default function rendererFactory ( ) : IRenderComponent {
11- const runtime = adapter . getRuntime ( ) ;
12- const Component = runtime . Component as IGeneralConstructor < IRendererProps , Record < string , any > > ;
13- const PureComponent = runtime . PureComponent as IGeneralConstructor < IRendererProps , Record < string , any > > ;
14- const { createElement, findDOMNode } = runtime ;
11+ const { PureComponent, Component, createElement, findDOMNode } = adapter . getRuntime ( ) ;
1512 const RENDERER_COMPS : any = adapter . getRenderers ( ) ;
1613 const BaseRenderer = baseRendererFactory ( ) ;
1714 const AppContext = contextFactory ( ) ;
@@ -21,7 +18,7 @@ export default function rendererFactory(): IRenderComponent {
2118
2219 const debug = Debug ( 'renderer:entry' ) ;
2320
24- class FaultComponent extends PureComponent {
21+ class FaultComponent extends PureComponent < NodeSchema > {
2522 render ( ) {
2623 // FIXME: errorlog
2724 console . error ( 'render error' , this . props ) ;
@@ -35,17 +32,22 @@ export default function rendererFactory(): IRenderComponent {
3532 color : '#ff0000' ,
3633 border : '2px solid #ff0000' ,
3734 } ,
38- } , ' 组件渲染异常,请查看控制台日志' ) ;
35+ } , ` ${ this . props . componentName || '' } 组件渲染异常,请查看控制台日志` ) ;
3936 }
4037 }
4138
42- class NotFoundComponent extends PureComponent {
39+ class NotFoundComponent extends PureComponent < {
40+ componentName : string ;
41+ } & IRendererProps > {
4342 render ( ) {
44- return createElement ( Div , this . props , this . props . children || 'Component Not Found' ) ;
43+ if ( this . props . enableStrictNotFoundMode ) {
44+ return `${ this . props . componentName || '' } Component Not Found` ;
45+ }
46+ return createElement ( Div , this . props , this . props . children || `${ this . props . componentName || '' } Component Not Found` ) ;
4547 }
4648 }
4749
48- return class Renderer extends Component {
50+ return class Renderer extends Component < IRendererProps > {
4951 static displayName = 'Renderer' ;
5052
5153 state : Partial < IRendererState > = { } ;
0 commit comments