@hudoro/hooks
Version:
Useful react hooks for HSD App
17 lines (16 loc) • 770 B
TypeScript
export declare function useForm<T extends object, V extends Record<keyof T, string> = Record<keyof T, string>>(initialState: T, validation?: {
validationState?: V;
validationCallback?: (values: T, errors: Record<keyof T, string>) => typeof errors;
}): {
values: T;
errors: Record<keyof T, string>;
setValue: <K extends keyof T>(key: K, value: T[K]) => void;
setValues: import('react').Dispatch<import('react').SetStateAction<T>>;
reset: () => void;
setErrors: import('react').Dispatch<import('react').SetStateAction<Record<keyof T, string>>>;
valid: boolean;
setError: <K extends keyof V>(key: K, value: V[K]) => void;
resetErrors: () => void;
validate: (showAllErrors?: boolean) => boolean;
resetForm: () => void;
};