cloud-component
Version:
用于加载 component registry 中注册的组件
18 lines (17 loc) • 912 B
TypeScript
import React, { ReactNode, ReactElement } from 'react';
import { RegistryInfo, AnyProps, SuspenseProps, UrlMapper } from './typing.d';
import { ConfigConsumerProps } from './context';
export interface CloudComponentConfigProviderProps extends ConfigConsumerProps {
children?: ReactNode;
}
export declare const CloudComponentConfigProvider: ({ children, ...restProps }: CloudComponentConfigProviderProps) => JSX.Element;
export interface CloudComponentI {
<P, T = any>(props: RegistryInfo & SuspenseProps & P & {
ref?: React.Ref<T>;
}): ReactElement<P> | null;
}
declare function create(moduleLoader: any, registrySever: string, mapper?: UrlMapper): {
loadComponent: ({ name, url }: RegistryInfo) => React.ForwardRefExoticComponent<Pick<AnyProps & SuspenseProps, React.ReactText> & React.RefAttributes<any>>;
CloudComponent: CloudComponentI;
};
export default create;