Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | import React from "react";
import { ID, Component } from "./types";
class ComponentRegistry {
private static forms: Record<ID, () => Component> = {} as Record<
ID,
() => Component
>;
static registerLazy(id: ID, componentLoader: () => Component): void {
this.forms[id] = componentLoader;
}
static show(id: ID, props?: Record<string, any>): React.ReactElement | null {
const componentLoader = this.forms[id];
if (componentLoader !== undefined) {
const Component = componentLoader();
const element = React.createElement(Component, props);
return element;
}
return null;
}
}
export default ComponentRegistry;
|