Crea formularios fácilmente con React Hook Forms

Поделиться
HTML-код
  • Опубликовано: 23 мар 2022
  • En este vídeo vamos a revisar la librería React Hook Forms, una librería de hooks personalizados que nos permite crear formularios de una manera muy sencilla y efectiva.
    👉 Conoce nuestras vacantes actuales de tecnología en bit.ly/talento-tech-GDI
    Si quieres aprender más de programación, te dejamos por aquí otros Garaje Code Pills que seguro que te gustarán:
    - useState Hook en 20 minutos: • useState Hook en 20 mi...
    - useContext en 20 minutos: • useContext en 20 minutos
    - useEffect en 20 minutos: • useEffect en 20 minutos
    Aquí tienes el código por si quieres usarlo:
    github.com/GarajedeIdeas/Code...
    Esta introducción a la librería React Hook Forms fue impartida por Mario Girón, Senior Full Stack Developer:
    / mariogironm
    Si quieres estar al tanto de todo lo que hacemos, puedes inscribirte aquí 👇
    garajedeideas.com/livecoding/...
    ----------
    Garaje de Ideas es un estudio de Diseño, Tecnología y Data. En este canal encontrarás tutoriales, cursos y ejemplos prácticos paso a paso de desarrollo web y programación.
    Podrás encontrar desde cursos de JavaScript, Node.js, D3.js, Vue3, Typescript, HTML, CSS, React... hasta cómo optimizar tu proceso de trabajo.
  • НаукаНаука

Комментарии • 120

  • @jeffersonmaldonado2190
    @jeffersonmaldonado2190 Месяц назад

    Excelente explicación, una de los mejores tutoriales que he visto en mis 18 años de carrera como desarrollador. Soy docente de matemática e informática. Saludos desde Venezuela

  • @osw2050
    @osw2050 Месяц назад +1

    Muchas Gracias no sabes cuanto me ayudaste gracias por tu tutorial único en todo RUclips no hay como el tuyo ,tu video ilumino mi día ,semana y mes muy agradecido

    • @Garajedeideas
      @Garajedeideas  Месяц назад

      Gracias a ti! Nos alegramos mucho de que nuestro contenido te sirva de ayuda :)

  • @heidisanchez5786
    @heidisanchez5786 Месяц назад

    Me gusta mucho cómo explicas y además la rapidez con la que lo haces, no hay desperdicio de tiempo ni uno se duerme, soy tu fan.

    • @Garajedeideas
      @Garajedeideas  Месяц назад

      ¡Gracias! Nos alegramos mucho de que nuestros contenido te sirva de ayuda :)

    • @mariogiron
      @mariogiron Месяц назад

      Graciasss! Es importante no dormirse 😁

  • @juliochirinos2725
    @juliochirinos2725 Месяц назад

    Estimado, en principio le felicito por la buena dicción y su facilidad para hacer llegar el mensaje. A veces menos es más. Y eso es justo lo que usted hace. Simple, al grano y con un lenguaje muy normal que hace que uno entienda con mucha facilidad. Excelente material!

    • @Garajedeideas
      @Garajedeideas  Месяц назад

      Gracias por el feedback! Nos alegramos mucho de que nuestro contenido te sirva de ayuda :)

  • @user-dp2wb5br3y
    @user-dp2wb5br3y Месяц назад

    He conseguido entenderlo a la perfección, explicas todo correctamente.
    Muchas gracias. Un saludo.

    • @Garajedeideas
      @Garajedeideas  Месяц назад

      ¡Gracias a ti! Nos alegramos mucho de que nuestros contenido te sirva de ayuda :)

  • @alebarbaja
    @alebarbaja Год назад +4

    🤯 Que gran explicación sobre el uso de esta librería, ¡muchas gracias!.

  • @mafrunepi
    @mafrunepi 2 года назад

    Gracias por el vídeo. Conciso y bien explicado. Tenéis un suscriptor más.

  • @betobogino
    @betobogino Год назад +1

    Cuanto agradezco haberme encontrado con Garaje de Ideas! Muy buen vídeo, gran explicación

  • @poisonov
    @poisonov Год назад

    Mario eres un profesor excelente, gracias por compartir

  • @hugoisaiasalvarezgarcia2016
    @hugoisaiasalvarezgarcia2016 2 года назад

    Genial, explicas de una manera muy sencilla y clara, lo capte muy rápido, gracias

  • @tiagoramirez2001
    @tiagoramirez2001 Год назад +1

    Muchas gracias por la info. Directo al grano y muy bien explicado. De nuevo, muchas gracias

  • @rana_zurda
    @rana_zurda Год назад +2

    explicas muy bien, la manera en la que avanzas sobre el tema, los ejemplos, excelente! gracias por el contenido

  • @JulioAguero
    @JulioAguero 2 года назад +1

    Excelente explicación, muy simple y claro... continua así... te estare apoyando.

  • @coder116
    @coder116 2 года назад

    Excelente explicación. Muchas gracias por compartir como funciona la creación de formularios con React Hoook Forms. Saludos desde Caracas-Venezuela.

  • @MrEstebanfierro
    @MrEstebanfierro Год назад +1

    Una excelente alternativa para crear formularios de forma muy rápida y eficiente, muchas gracias por compartir.

  • @robinsonmontero4275
    @robinsonmontero4275 Год назад +3

    Muchas gracias hermano, eso era justo lo que estaba buscando una forma de manejar los formularios de manera que me permita tener control sobre el mismo en todo momento y acceder al valor que tienen sus campos, sin tener que hacer submit.

  • @zenzen9043
    @zenzen9043 6 месяцев назад +1

    ¡Excelente trabajo! y gran didáctica. Saludos cordiales desde Argentina, gracias por compartir

  • @Willyrosa55
    @Willyrosa55 2 года назад

    Que buen video, explicas muy muy bien, gracias por los conocimientos compartidos :D

  • @carolnavia3943
    @carolnavia3943 2 года назад

    Excelente la manera de explicar. Me ayudó mucho. Saludos

  • @diegocurutchet_code4580
    @diegocurutchet_code4580 Год назад

    me encanta como explicas, muy fácil de entender!

  • @SerEfGonzalez
    @SerEfGonzalez 11 месяцев назад +1

    Muy buen trabajo, excelente explicación, saludos desde Generall Madariaga en la Pcia. de Buenos Aires República Argentina!!!

  • @josecedeno1957
    @josecedeno1957 2 года назад

    Excelente aporte amigo, muy bien explicado!!!

  • @danielespanadero
    @danielespanadero 2 года назад

    Muy buen vídeo! Muchas gracias por compartir este conocimiento! Un abrazo!!

  • @arigrafik
    @arigrafik 2 года назад +3

    ¡Buenísimo! Gracias por hacer este vídeo, me hubiese gustado que explicaras como colocar la contraseña, pero ya eso lo investigaré por mi cuenta. Por cierto me he suscrito a tu canal, espero que puedas continuar publicando más contenido actualizado sobre React =) ¡Un saludo!

  • @escuderomdz
    @escuderomdz Год назад +1

    Excelente tutorial, me sirvió muchísimo. Gracias por compartir!

  • @franciscomolina-dev
    @franciscomolina-dev 2 года назад

    No conocia este hook pero se gano mi corazon jajaja. Gracias por explicarlo bien claro! Suscrito y like.

  • @UriiSanchez
    @UriiSanchez Год назад +1

    Te agradezco, me sirvió bastante este video ya que me dio una idea de como controlar diferentes formularios y tener acceso al state

  • @rafapaz5864
    @rafapaz5864 11 месяцев назад +1

    Señor, es usted una bestialidad de tifon crack master god!!! muchas gracias!

  • @gilbertardila
    @gilbertardila Год назад

    Excelente Hook muy bien explicado como siempre

  • @juanscasado
    @juanscasado Год назад

    Gracias! muy util y estaremos por aqui ya que ha sido muy util su tiempo!!!

  • @tomasliendo3127
    @tomasliendo3127 2 года назад

    Muy clara la explicación, muchas gracias !!!! =D

  • @Alejo28356
    @Alejo28356 10 месяцев назад +1

    Demasiado excelente! Mil gracias por este tipo de contenido. Like y suscrito!

  • @tatoElpaisa
    @tatoElpaisa 2 года назад +1

    Tremenda Utilidad. Gracias por el video.

  • @k.santiagodiaz3744
    @k.santiagodiaz3744 2 года назад +1

    Excelente, por aqui tienes a un nuevo subscritor. Gracias!

  • @santiagotorres8680
    @santiagotorres8680 Год назад

    Muchas gracias por compartir tu conocimiento :)

  • @ignaciomustafha4170
    @ignaciomustafha4170 Год назад

    Tremendo video!! Saludos desde Argentina

  • @faviocabral2675
    @faviocabral2675 Год назад +1

    Simple y conciso

  • @franciscopena1140
    @franciscopena1140 Год назад

    Me aportó mucho tu video. Gracias!

  • @GustavoHernandez-he4gd
    @GustavoHernandez-he4gd Год назад

    muy buena explicación, gracias por aportar

  • @dearalex2056
    @dearalex2056 2 года назад

    Ostras que videazo! Saludos desde Nicaragua

  • @CreceXDiez
    @CreceXDiez Год назад

    Grande hermano, excelente explicación

  • @eduardovelasco4195
    @eduardovelasco4195 Год назад +1

    Muchas gracias por la información, gran video

  • @danielcolmenares8234
    @danielcolmenares8234 Год назад

    excelente explicacion, me gusto mucho.

  • @woodenhouse8531
    @woodenhouse8531 8 месяцев назад +1

    Muchas gracias, me ha ayudado mucho el video!

  • @HealthyBodyMagcom
    @HealthyBodyMagcom 2 года назад

    super genial! buen contenido!!! te felicito

  • @jeissonalbertopinzon476
    @jeissonalbertopinzon476 Год назад

    bien .... seria bueno una segunda parte seguro -- gracias por el video

  • @erickdc8403
    @erickdc8403 Год назад

    me gusto la explicación y muy clara

  • @jesusre8495
    @jesusre8495 8 месяцев назад +1

    Excelente video, gracias!

  • @victoriarodriguez2137
    @victoriarodriguez2137 9 месяцев назад +1

    que magnifico video

  • @DavidLopezCubo
    @DavidLopezCubo Год назад

    Excelente y muy claro!

  • @juanenriquebritezstockel3892
    @juanenriquebritezstockel3892 Год назад +1

    Que buen video, muchas gracias crack!

  • @RicardoRamirez-gf4qq
    @RicardoRamirez-gf4qq Год назад

    muy muy bueno saludos desde argentina !!

  • @Johnlb91
    @Johnlb91 2 года назад

    Wow! muchas Gracias!

  • @gabrielsaldana9863
    @gabrielsaldana9863 Год назад

    MUY BUENO BUENISIMA EXPLICACION

  • @luislavayen9495
    @luislavayen9495 Год назад +1

    Gran explicacion

  • @jesusamaganaaguilar8767
    @jesusamaganaaguilar8767 11 месяцев назад +1

    GRACIAS POR ESTE BELLO VIDEO

  • @cufando
    @cufando 2 года назад

    Geeeniaaal Muchas gracias!

  • @juanmanuelburdet9699
    @juanmanuelburdet9699 Год назад

    Un groso, super clarisimo, gracias

  • @craulynfeliz4177
    @craulynfeliz4177 2 года назад

    Uff Excelente video , un suscriptor mas

  • @lancerrider
    @lancerrider 2 года назад +1

    Muy bien ganado su like 👏

  • @victorzambrano3019
    @victorzambrano3019 Год назад +1

    que bien explicas lo entendi todo rapido a los demas nada no saben explicar

  • @transformers886
    @transformers886 Год назад

    muchas gracias

  • @luisfelipeevilla8504
    @luisfelipeevilla8504 Год назад +1

    excelente video

  • @agustins.2381
    @agustins.2381 Год назад +2

    Muy bueno el vídeo! Me hubiese servido mucho que hubieras explicado también como trabajar con check box y switch

  • @dariocuray6458
    @dariocuray6458 Год назад

    Kapo para explicar se me hizo muy sencillo entender.Saludos

  • @3Bluewind
    @3Bluewind 2 года назад

    GRACIAS!!!!!

  • @all-eter-4289
    @all-eter-4289 2 года назад

    Simplemente Perfecto XD

  • @victorioortega9509
    @victorioortega9509 Год назад +1

    Gracias

  • @TheAndres7777
    @TheAndres7777 Год назад

    buen video!

  • @GamesMedleyBienvenido
    @GamesMedleyBienvenido 5 месяцев назад

    Este tutorial es hermoso, ahora puedo seguir con mi curso

    • @Garajedeideas
      @Garajedeideas  5 месяцев назад

      Gracias por tu comentario y nos alegramos de que te haya servido de ayuda :D

  • @esencoder
    @esencoder Год назад

    Genial!!!

  • @martincarp4671
    @martincarp4671 Год назад

    Muy buen tutorial, me llama la atencion la linea 17
    const incluirTelefono = watch('incluirTelefono');
    ya que se define como una constante y lo que entrega watch() varia

  • @saulhuarcayaquispe5236
    @saulhuarcayaquispe5236 Год назад

    Gracias :3

  • @rodgon823
    @rodgon823 Год назад

    Excelente video! Muchisimas gracias, solo tengo una duda ¿Como podriamos limpiar los campos al hacer el submit?

  • @ericksegura478
    @ericksegura478 Год назад +1

    Genial

  • @codigonow995
    @codigonow995 Год назад +3

    Saludos. Gracias por el tutorial. Me hace falta saber cual es el codigo para enviar a la base de dato en este caso. Gracias.

  • @joacovega9263
    @joacovega9263 Год назад +1

    Re buen video, ya me suscribí. Una consulta, como se podría hacer para vaciar los inputs una vez enviado los datos?

  • @marcemelgar
    @marcemelgar Год назад +1

    Excelente! Mil gracias por la información. Te ganaste un nuevo Sub!
    Una consulta. Si quiero validar 2 emails para que sean iguales. La función chequearía si value.email1 === value.email2 ??

  • @8koi245
    @8koi245 Год назад

    fue una pesadilla como no tenés idea joder, ahora la quiero dejar bonita y bueno que mejor que agregar esta lib!

  • @sebamise2406
    @sebamise2406 Год назад

    Tremendo videazo, me suscribo! el único inconveniente que tengo y me pregunto si podrían ayudarme es que el mensaje de error aparece siempre, es decir debería de aparecer cuando se intenta enviar el formulario, pero en el estado actual, apenas escribes una letra aparece el mensaje y eso no quedaría bien... (El formulario funciona simplemente es un problema de estética mi problema)

  • @Artifismo
    @Artifismo Год назад +1

    👌

  • @mariacandelareynoso1337
    @mariacandelareynoso1337 Год назад +1

    barvaro!

  • @itsKreisler
    @itsKreisler 2 года назад

    Esta increíble....!!!! En el onSubmit que create ya puedo hacer una petición con el data y enviarla a una url mediante fetch?

    • @Garajedeideas
      @Garajedeideas  2 года назад

      Hola Kreisler! Exacto, en el onSubmit podrías tomar todos los datos recogidos a través del formulario y enviarlos utilizando fetch o cualquier otra alternativa como por ejemplo axios

  • @magaliacevedo8153
    @magaliacevedo8153 2 года назад

    Hola buenas como se hace el envio al correo, hay algun video? gracias

  • @jamito58
    @jamito58 Год назад

    como puedo comparar dos campo por ejemplo contraseñas que se a igual o no

  • @caudiovisual_creativo
    @caudiovisual_creativo Год назад

    Como podría precargar datos o rellenar los inputs, luego de realizar la consulta a un API

  • @all-eter-4289
    @all-eter-4289 2 года назад

    Entonces si quiero recibir el valor del check debo estar manejandolo con un estado? o hay algun modo de que el mismo retorne un true o un false segun este activo o no?

    • @Garajedeideas
      @Garajedeideas  Год назад +1

      Hola! Mediante el método watch que nos ofrece el hook podemos monitorizar el estado del check, pero si necesitas guardar el valor, deberías manejarlo a través del estado del componente.

    • @all-eter-4289
      @all-eter-4289 Год назад

      @@Garajedeideas gracias ☺️!!

  • @gahaIor
    @gahaIor Год назад

    Hola, y donde configuras el correo al que quieres recibir la info?

    • @Garajedeideas
      @Garajedeideas  Год назад

      Hola! En este caso necesitarías un server de backend como Node.js y Express que procese los datos enviados en el form y los envíe a tu correo. También puedes utilizar algún servicio de cloud para realizar el envío como EmailJS: www.emailjs.com/

  • @cesaraugustojaramillohen-vu2pn
    @cesaraugustojaramillohen-vu2pn 2 месяца назад

    muy buenas tardes, excelente la expliación, estoy empezando en React pero me encuentro con una ncesidad, y es crear dentro de un formulario validado, 2 cajas de texto para ingresar valores numericos y una tercera para mostrar el resultado, alguien me pude dar una idea de como hacerlo, muchas gracias

  • @claudioperezdiaz
    @claudioperezdiaz Год назад

    alguien sabe como hacerlo funcionar con reactstrap ????

  • @Skatefromnqn
    @Skatefromnqn 2 года назад

    Quisiera realizar una consulta, en la línea :{errors.nombre?.type === 'required' && El campo nombre es requerido} me aparece el siguiente error "Module parse failed: Unexpected token (369:21). You may need an appropriate loader to handle this file type." Hay alguna dependencia que no tenga instalada o se puede realizar de otra forma? Gracias y excelente video

    • @Garajedeideas
      @Garajedeideas  2 года назад

      Hola Leonel! Muchas gracias por tu comentario!
      En cuanto al error que te sale, necesitaríamos ver directamente cómo te sale el error en el gestor de código. Tal cual nos lo comentas no podemos darte solución al problema 😅

  • @carlosmonroy458
    @carlosmonroy458 Год назад

    Tengo un problema, al momento de utilizar formState errors, mi app se pone en blanco completamente. Alguien me podría ayudar?

  • @victorsandoval6145
    @victorsandoval6145 4 месяца назад

    15:25 custom validation

  • @melisacampos2540
    @melisacampos2540 Год назад

    Buenisimo pero no me carga la pagina

  • @hugoisaiasalvarezgarcia2016
    @hugoisaiasalvarezgarcia2016 2 года назад

    Tengo una duda como se podrian pasar datos a nuestros inputs, es decir ya tener almacenada información en un estado y después pintar esa información en el formulario no logro encontrar la respuesta

    • @Garajedeideas
      @Garajedeideas  2 года назад

      Hola Hugo, para poder pasar datos por defecto al formulario en su creación hay que hacerlo a través de la definición del propio hook, algo así:
      useForm({
      defaultValues: { nombre: 'Mario', direccion: 'C Falsa 123', email: 'mario@gmail.com', edad: 23, pais: 'España' }
      });

  • @dvdtucapo
    @dvdtucapo 10 месяцев назад +1

    Muy bueno! Pero no entendí donde va el mothod y el action del form :/

    • @yanluisnunezlara319
      @yanluisnunezlara319 8 месяцев назад

      Me imagino que la función en el evento submit del formulario llamada handleSubmit que viene del Hook y que a la vez ejecuta la función creada llamada onsubmit, ahí se usa alguna API como fetch, o httpsrequest o axios para hacer el envío de datos.

    • @yanluisnunezlara319
      @yanluisnunezlara319 8 месяцев назад

      Ejemplos: const onSubmit = async (data) => {
      try {
      const response = await fetch('URL_DE_TU_API', {
      method: 'POST',
      headers: {
      'Content-Type': 'application/json',
      },
      body: JSON.stringify(data),
      });
      if (response.ok) {
      console.log('Datos enviados correctamente');
      } else {
      console.error('Error al enviar los datos');
      }
      } catch (error) {
      console.error('Error en la solicitud:', error);
      }
      }; ya la función handleSubmit se encarga de gestionar los datos que se escriben en los elementos del formulario.

  • @antoniojesusmoragalvan5471
    @antoniojesusmoragalvan5471 2 года назад

    pero como lo hacemos funcional???

    • @Garajedeideas
      @Garajedeideas  2 года назад

      Hola Antonio, esta librería está enfocada a maquetar el formulario y su funcionalidad. Para realizar envíos del formulario habría que hacerlo a través de otra tecnología o sobre alguna aplicación de backend.

    • @ing.alexanderbarajas6736
      @ing.alexanderbarajas6736 2 года назад

      @@Garajedeideas Buen día!!! Muchas gracias por sus videos, me parecen muy claros. Siguiendo este hilo quisiera saber como se puede hacer un update de un registro utilizando este hook, Como se cargan los datos a los campos para editarlos? se puede usar useState?

  • @mauriciocruzlopez4526
    @mauriciocruzlopez4526 4 месяца назад

    E usado el valor por defecto en el "hook useForm:" pero cuando hago esto las validaciones por ejemplo de campo vacío (required) no funciona, es decir no me aparece nada. Borro ese valor por defecto y funciona. Ni siquiera funciona cuando le doy al botón de enviar el formulario. Supongo que cuando tiene el valor por defecto ya se almacena y no hay vuelta. Voy a investigar para encontrar una solución.

    • @mauriciocruzlopez4526
      @mauriciocruzlopez4526 4 месяца назад

      Excelente video, e aprendido un montón. Es increíble como los errores me persiguen xd. Trate de escribir un poco mas en el comentario pero no me dejaba. tuve que recargar la página. Supongo que fue porque borre la cache del navegador (1h).

  • @Garajedeideas
    @Garajedeideas  2 года назад +2

    👉 ¡En Garaje seguimos creciendo! Únete al equipo: bit.ly/talento-tech-GDI

  • @8koi245
    @8koi245 Год назад +1

    "adivino en principio no soy" HAHAHHAHA típico