matrix-react-sdk
Version:
SDK for matrix.org using React
26 lines (25 loc) • 710 B
TypeScript
import React, { ComponentType, PropsWithChildren } from "react";
type AsyncImport<T> = {
default: T;
};
interface IProps {
prom: Promise<ComponentType<any> | AsyncImport<ComponentType<any>>>;
onFinished(): void;
}
interface IState {
component?: ComponentType<PropsWithChildren<any>>;
error?: Error;
}
/**
* Wrap an asynchronous loader function with a react component which shows a
* spinner until the real component loads.
*/
export default class AsyncWrapper extends React.Component<IProps, IState> {
private unmounted;
state: IState;
componentDidMount(): void;
componentWillUnmount(): void;
private onWrapperCancelClick;
render(): React.ReactNode;
}
export {};