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