Skip to content

Commit

Permalink
Merge pull request #4843 from bleathem/createComponentExtension-signa…
Browse files Browse the repository at this point in the history
…ture

Changed the signature of createComponentExtension to be aligned with that of React.lazy
  • Loading branch information
freben committed Mar 18, 2021
2 parents e906570 + d4f2eba commit 2854450
Showing 1 changed file with 5 additions and 2 deletions.
7 changes: 5 additions & 2 deletions packages/core-api/src/extensions/extensions.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -60,15 +60,18 @@ export function createRoutableExtension<
});
}

// We do not use ComponentType as the return type, since it doesn't let us convey the children prop.
// ComponentType inserts children as an optional prop whether the inner component accepts it or not,
// making it impossible to make the usage of children type safe.
export function createComponentExtension<
T extends (props: any) => JSX.Element
T extends (props: any) => JSX.Element | null
>(options: { component: ComponentLoader<T> }): Extension<T> {
const { component } = options;
return createReactExtension({ component });
}

export function createReactExtension<
T extends (props: any) => JSX.Element
T extends (props: any) => JSX.Element | null
>(options: {
component: ComponentLoader<T>;
data?: Record<string, unknown>;
Expand Down

0 comments on commit 2854450

Please sign in to comment.