UNPKG

react-use-form-lite

Version:

Hook de formularios para React moderno: rápido, ligero, sin dependencias y compatible con TypeScript. Soporta inputs, selects, checkboxes, radios y archivos con validación simple.

29 lines (26 loc) 1.11 kB
import { FormEvent, ChangeEvent } from 'react'; interface RegisteredFieldProps { name: string; value?: string | number | readonly string[] | undefined; onChange: (event: ChangeEvent<HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement>) => void; } interface FileInputProps { name: string; onChange: (event: ChangeEvent<HTMLInputElement>) => void; } /** * Hook personalizado para manejo de formularios controlados. * @template T - Tipo de los valores del formulario. * @param initialValues - Valores iniciales del formulario. * @param onSubmitCallback - Función a ejecutar al enviar el formulario. * @returns Métodos y valores para manejar el formulario. */ declare function useFormLite<T extends Record<string, any>>(initialValues: T, onSubmitCallback: (values: T) => void): { values: T; handleSubmit: (event: FormEvent<HTMLFormElement>) => void; resetForm: () => void; register: (fieldName: string) => RegisteredFieldProps; registerFile: (fieldName: string) => FileInputProps; getEmptyFields: () => Record<string, string>; }; export { useFormLite };