Membuat Form Management dengan React Hook Form

18 Juli 2022

Ubah di Github

Form bisa dibilang bagian penting didalam pengembangan aplikasi, web, maupun sistem lainnya, yakni cara pengguna berinteraksi dengan aplikasi itu sendiri. Memvalidasi data pengguna yang dikemas melalui form adalah suatu hal penting bagi pengembang.

Isi

Apa Itu React Hook Form

React Hook Form adalah library form manegement javascript yang dikhususkan untuk React. React Hook Form menggunakan ref untuk mengontrol input, untuk meminimalisir agar tidak terjadi perenderan ulang atau disebut dengan re render.

Salah satu fitur keren React Hook Form ini adalah bisa integrasi dengan component UI React karena component UI tersebut mendukung atribut ref.

Untuk menginstall React Hook Form cukup dengan menjalankan perintah

npm install react-hook-form

Membuat Form Management di React Hook Form

<form> <input type="text" /> <input type="email" /> </form>

Semua input harus berada di dalam child form atau di dalam cakupan form.

Lalu import hook function useForm dari react-hook-form.

import { useForm } from "react-hook-form";

lalu di dalam component mu desctruct hasil dari si hook function useForm ini

const { handleSubmit, register } = useForm();

useForm mengembalikan objek yang berisi beberapa properties, untuk sekarang kita hanya membutuhkan handleSubmit dan register

untuk meregister input cukup dengan mengikuti code ini

<input type="text" {...register("yourInputName")} />

Spread Opertator Syntax adalah implementasi terbaru dari React Hook Form yang terdapat di v7 keatas jika anda menggunakan versi dibawah versi 7 maka anda harus menggunakan atribut registerdi prop ref, seperti ini:

<input type="text" name="yourInputName" ref={register} />

yang harus menyertakan prop name yang dimana itu harus unik.

Setelah meregistrasikan input, lalu pakai function handleSubmit untuk mendapatkan value input yang telah di registrasi tadi.

Function handleSubmit memiliki dua parameter fungsi,

  • Fungsi yang pertama akan menghasilkan value form saat validasi form berhasil
  • Fungsi yang kedua akan menghasilkan pesan error saat validasi gagal.
const App = () => { const handleSubmitForm = (values) => console.log(values); const handleErrorsForm = (errors) => console.log(errors); return ( <form onSubmit={handleSubmit(handleSubmitForm, handleErrosForm)}> </form> ); }; export default App;

Setelah mengikuti langkah langkah diatas maka dapat disimpulkan anda memiliki kode full seperti ini

import { useForm } from "react-hook-form"; const App = () => { const { register, handleSubmit } = useForm(); const handleSubmitForm = (values) => console.log(values); const handleErrorsForm = (errors) => console.log(errors); return ( <form onSubmit={handleSubmit(handleSubmitForm, handleErrorsForm)}> <input type="text" {...register("name")} /> <input type="email" {...register("email")} /> </form> ); }; export default App;

Kesimpulan

React Hook Form adalah library opensource yang bagus untuk ekosistem React, library ini juga bisa digunakan pada React Native, dengan library ini management form di aplikasi atau web bisa mudah dibuat.

Untuk selanjutnya, pembahasan mengenai validasi di React Hook Form cocok dipelajari.

Bagiin?

Coretan Terkait

12 Februari 2021

Nyoba recoil yuk

#react#javascript#recoil

Kalo yang sudah familiar ama React, biasanya kalo ingin ngepass state atau functionalitas lainnya dari component satu ke component 1 ke component lainnya bisa pake yang namanya...