Hooks Dasar React useState, useEffect – React adalah sebuah perpustakaan JavaScript untuk membangun antarmuka pengguna yang dikembangkan oleh Facebook. Salah satu fitur utama dari React adalah kemampuannya untuk mengelola state dan props, atau properti, di dalam sebuah komponen. Sebelumnya, ini biasanya dilakukan menggunakan komponen berbasis kelas, yang memerlukan penggunaan kata kunci this dan metode lifecycle. Namun, dengan diintroduksinya React hooks pada versi 16.8, sekarang sudah memungkinkan untuk menggunakan komponen fungsional untuk mengelola state dan props juga.
Hooks adalah fungsi yang memungkinkan Anda untuk menggunakan state dan fitur React lainnya di dalam komponen fungsional. Mereka diperkenalkan untuk menyelesaikan masalah bagaimana mengelola state dan efek samping di komponen fungsional, yang tidak dapat menggunakan metode lifecycle seperti komponen berbasis kelas. Dengan hooks, sekarang sudah memungkinkan untuk menggunakan komponen fungsional untuk hampir semua jenis komponen, termasuk yang sebelumnya memerlukan kelas.
Hooks useState
Ada beberapa hooks dasar yang sering digunakan dalam aplikasi React. Hooks yang paling sering digunakan adalah useState
hook, yang memungkinkan Anda untuk menambahkan state ke dalam komponen fungsional. Untuk menggunakan useState
hook, Anda perlu mengimportnya dari perpustakaan react
dan kemudian memanggilnya di dalam komponen fungsional Anda. Hook ini mengembalikan sebuah array dengan dua elemen: nilai state saat ini dan sebuah fungsi yang dapat digunakan untuk memperbarui state. Berikut ini adalah contoh bagaimana menggunakan useState
hook:
import React, { useState } from 'react';
function Example() {
// Deklarasikan sebuah variabel state baru, yang kita sebut "count"
const [count, setCount] = useState(0);
return (
<div>
<p>Anda telah mengklik {count} kali</p>
<button onClick={() => setCount(count + 1)}>
Klik saya
</button>
</div>
);
}
Pada contoh ini, useState
hook dipanggil dengan nilai state awal 0. Hook ini mengembalikan sebuah array dengan nilai state saat ini count
.
Dan setCount
adalah fungsi yang dapat digunakan untuk memperbarui state. Fungsi setCount
dipanggil di dalam handler event onClick
tombol, yang meningkatkan variabel state count
sebesar 1 setiap kali tombol diklik.
Hooks useEffect
Hook lain yang dasar adalah useEffect
hook, yang memungkinkan Anda untuk melakukan efek samping di dalam komponen fungsional. Efek samping adalah tindakan yang tidak langsung terkait dengan rendering dari komponen, seperti memanggil API atau mengatur listener event. useEffect
hook dipanggil di dalam komponen fungsional, dan mengambil sebuah fungsi sebagai argumen. Fungsi ini dipanggil setelah komponen terrender dan setiap kali props atau state komponen berubah. Berikut ini adalah contoh bagaimana menggunakan useEffect
hook:
import React, { useState, useEffect } from 'react';
function Example() {
const [count, setCount] = useState(0);
// Mirip dengan componentDidMount dan componentDidUpdate:
useEffect(() => {
// Update judul dokumen menggunakan API browser
document.title = `Anda telah mengklik ${count} kali`;
});
return (
<div>
<p>Anda telah mengklik {count} kali</p>
<button onClick={() => setCount(count + 1)}>
Klik saya
</button>
</div>
);
}
Dalam contoh ini, useEffect
hook dipanggil dengan sebuah fungsi yang mengupdate judul dokumen menggunakan API browser. Fungsi ini akan dipanggil setelah komponen terrender dan setiap kali nilai state count
berubah.