react-autosave
Version:
A lightweight solution for auto saving controlled form values
26 lines (19 loc) • 1.02 kB
TypeScript
import { JSX } from 'react';
export declare const Autosave: <TData, TReturn>({ element, ...props }: AutosaveProps<TData, TReturn>) => JSX.Element | null;
export declare interface AutosaveProps<TData, TReturn> extends CommonProps<TData, TReturn> {
/** JSX.Element to return */
element?: JSX.Element | null;
}
export declare interface CommonProps<TData, TReturn> {
/** The controlled form value to be auto saved */
data: TData;
/** Callback function to save your data */
onSave: (data: TData) => Promise<TReturn> | TReturn | void;
/** The number of milliseconds between save attempts. Defaults to 2000 */
interval?: number;
/** Set to false if you do not want the save function to fire on unmount */
saveOnUnmount?: boolean;
}
export declare function useAutosave<TData, TReturn>({ data, onSave, interval, saveOnUnmount, }: CommonProps<TData, TReturn>): void;
export declare function useDebounce<TData>(data: TData, interval: number): TData;
export { }