JSX: Functional component support innerElement
This commit is contained in:
		| @@ -32,21 +32,16 @@ export namespace jsx { | ||||
|             return e; | ||||
|         } else { | ||||
|             const f = constructor as Function | ||||
|             const e = Reflect.apply(f, undefined, [config]) | ||||
|             if (e instanceof Fragment) { | ||||
|                 return children | ||||
|             } | ||||
|             const args = config ?? {} | ||||
|             if (children && children.length > 0) { | ||||
|                 if (children.length === 1) { | ||||
|                     children = children[0] | ||||
|                 } | ||||
|                 if (Reflect.has(e, "innerElement")) { | ||||
|                     Reflect.set(e, "innerElement", children, e) | ||||
|                 } else { | ||||
|                     throw new Error( | ||||
|                         `Do not support add child for ${e.viewType()}` | ||||
|                     ); | ||||
|                 } | ||||
|                 (args as any).innerElement = children | ||||
|             } | ||||
|             const e = Reflect.apply(f, undefined, [args]) | ||||
|             if (e instanceof Fragment) { | ||||
|                 return children | ||||
|             } | ||||
|             return e | ||||
|         } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user