react-native-use-form-lite
TypeScript icon, indicating that this package has built-in type declarations

1.6.0 • Public • Published

react-native-use-form-lite

npm version GitHub Repo npm

Un Custom Hook moderno, intuitivo, liviano y flexible para manejar formularios en React Native de forma rápida y sencilla.

Vista previa

🚀 Demo

🌍 ¿Qué es react-native-use-form-lite?

react-native-use-form-lite es un pequeño hook (useFormLite) que facilita la captura y manejo de datos en formularios de React Native, eliminando la necesidad de escribir manualmente funciones de onChangeText, onValueChange, etc., para cada campo.

Ideal para proyectos que necesitan formularios dinámicos sin complicaciones.

✨ ¿Qué problema soluciona?

  • ✅ Simplifica la administración de estados en formularios.
  • ✅ Evita crear múltiples funciones onChange para cada input.
  • ✅ Soporta diferentes tipos de inputs (TextInput, Picker, Switch, etc.).
  • ✅ Mejora la legibilidad y escalabilidad de tus formularios.
  • ✅ Facilita el mantenimiento de formularios medianos a grandes.

📦 Instalación

npm install react-native-use-form-lite

🔧 Uso Básico

import { StyleSheet, View, TextInput, Switch, Button } from 'react-native';
import { useFormLite } from 'react-native-use-form-lite';
import { Picker } from '@react-native-picker/picker'; // npm install @react-native-picker/picker

const MyForm = () => {
  const { formData, register, resetForm, getEmptyFields } = useFormLite({
    name:'',
    email: '',
    isActive: false,
    selectedOption: '',
  });

  const handleSubmit = () => {

    // Imprime los datos del formulario en la consola al enviar
    console.log(formData);

    // Obtener campos vacios
    const emptyFields = getEmptyFields();
    console.log(emptyFields);
  };

  return (
    <>
      <TextInput placeholder="Name" {...register('name')} />
      <TextInput placeholder="Correo electrónico" {...register('email')} />
      <Switch {...register('isActive', { type: 'switch' })} />
      <Picker {...register('selectedOption', { type: 'select' })}>
        <Picker.Item label="Colombia" value="CO" />
        <Picker.Item label="México" value="MX" />
        <Picker.Item label="Venezuela" value="VE" />
      </Picker>
      <Button title="Enviar" onPress={handleSubmit} />
      <Button title="Resetear" onPress={resetForm} />
    </>
  );
};

🧩 API del Hook useFormLite

formData

Estado actual del formulario:

{
  name: 'Urian Viera',
  email: 'urian@example.com',
  isActive: true,
  selectedOption: 'US'
}

register(fieldName, options?)

Conecta un campo con el estado del formulario.

<TextInput {...register('name')} />
<Switch {...register('isActive', { type: 'switch' })} />
<Picker {...register('selectedOption', { type: 'select' })} />

resetForm()

Restablece el formulario a su estado inicial.

getEmptyFields()

Retorna un array con los nombres de los campos vacíos.

🧠 ¿Cómo funciona register?

Según el tipo de input:

  • TextInputtype: 'text' (predeterminado)
  • Pickertype: 'select'
  • Switchtype: 'switch'

Esto permite que los eventos onChangeText o onValueChange se asocien automáticamente.

✅ Ventajas

  • Ligero y fácil de usar.
  • Compatible con múltiples componentes de React Native.
  • Sin dependencias externas innecesarias.
  • Escrito en TypeScript para mejor DX.

📈 Ideal para:

  • Formularios pequeños y medianos.
  • Proyectos que buscan simplicidad.
  • Casos donde no se necesita una librería pesada de formularios.

👨‍💻 Desarrollador

Urian Viera
🌐 urianviera.com
📺 YouTube
💌 urian1213viera@gmail.com
¡Apóyame en PayPal!

📜 Licencia

Distribuido bajo la licencia MIT.

🙌 Agradecimientos

¡Gracias a todos los Devs 👨‍💻 que han utilizado y contribuido al desarrollo de react-native-use-form-lite! Su apoyo y retroalimentación son fundamentales para mejorar continuamente este paquete.

Package Sidebar

Install

npm i react-native-use-form-lite

Weekly Downloads

239

Version

1.6.0

License

MIT

Unpacked Size

18.4 kB

Total Files

6

Last publish

Collaborators

  • urian-viera