@appbuckets/react-ui
Version:
Just Another React UI Framework
29 lines (28 loc) • 757 B
TypeScript
export interface UseDataLoadConfig<Data> {
/** Data to load */
data: Data[] | ((timestamp: number) => Data[] | Promise<Data[]>);
/** Default data to use on init */
defaultData?: Data[];
/** Default loading state */
defaultLoading?: boolean;
/** Dependency to use to reload data */
reloadDependency?: any;
/** Reload data silently */
reloadSilently?: boolean;
}
interface DataState<Data> {
/** Current Data */
data: Data[];
/** Data load error */
error: any;
/** Loading State */
loading: boolean;
/** The last data load timestamp */
lastReloadTimeStamp: number;
/** Number of reload */
reloadCount: number;
}
export default function useDataLoad<Data>(
config: UseDataLoadConfig<Data>
): DataState<Data>;
export {};