Pengenalan ReactJS 01
Pengenalan ReactJS 01
Pada tahun 2013, React secara resmi dirilis sebagai proyek open-source di GitHub. Sejak saat itu,
React berkembang dengan pesat dan menarik banyak perhatian di industri teknologi, didukung oleh
komunitas yang besar serta digunakan oleh berbagai perusahaan besar, termasuk Instagram, Netflix,
Airbnb, dan Uber.
1. Virtual DOM: React menggunakan Virtual DOM untuk mengelola perubahan dalam tampilan
aplikasi secara efisien. Dengan membandingkan perubahan dalam versi virtual dan nyata dari
DOM, React hanya memperbarui elemen-elemen yang benar-benar berubah, sehingga
proses rendering menjadi jauh lebih cepat.
3. Dukungan Ekosistem dan Komunitas: Ekosistem React sangat luas dengan banyak library
pendukung seperti React Router untuk routing, Redux dan Context API untuk manajemen
state, serta berbagai tools testing. Komunitas besar dan aktif juga mempermudah akses ke
dukungan teknis, tutorial, dan resources lainnya.
4. Penggunaan Hooks: Dengan diperkenalkannya React Hooks pada versi 16.8, React memberi
kemudahan dalam mengelola state dan efek samping di dalam komponen fungsional tanpa
perlu menggunakan class. Ini menjadikan pengembangan lebih mudah dan bersih.
5. Portabilitas dan Kompatibilitas: React bisa digunakan untuk mengembangkan aplikasi web
maupun aplikasi mobile dengan bantuan React Native, sebuah framework turunan dari React
untuk pengembangan aplikasi mobile.
React menjadi pilihan utama bagi pengembang yang mencari solusi yang fleksibel, cepat, dan
scalable untuk membangun antarmuka pengguna modern yang interaktif dan responsif.
Komponen Fungsional: Ini adalah fungsi JavaScript sederhana yang menerima props sebagai
argumen dan mengembalikan elemen React. Komponen ini lebih sederhana dan lebih
mudah untuk ditulis serta lebih sering digunakan dalam React modern, terutama dengan
adanya Hooks.
function Greeting(props) {
Komponen Kelas: Komponen kelas merupakan komponen berbasis class dalam ES6, yang
memperluas class React.Component. Komponen kelas memiliki kemampuan untuk
mengelola state (sebelum adanya hooks).
render() {
Dengan struktur berbasis komponen, React memungkinkan kita untuk membangun antarmuka yang
kompleks dengan cara modular, menjadikan setiap bagian UI lebih mudah dipelihara, diuji, dan
digunakan kembali.
function Counter() {
return (
<div>
</div>
);
Props: Props adalah singkatan dari “properties” yang berfungsi untuk mengirimkan data dari
satu komponen ke komponen lainnya. Props bersifat read-only dan tidak bisa diubah oleh
komponen yang menerima. Dengan props, data atau fungsi bisa diturunkan dari komponen
induk ke komponen anak.
function Greeting(props) {
function App() {
Secara ringkas, state adalah data internal yang dimiliki komponen dan dapat berubah, sementara
props adalah data yang diterima dari komponen induk yang tidak dapat diubah.
Virtual DOM
Virtual DOM adalah representasi ringan dari DOM asli (Document Object Model) yang dimiliki oleh
browser. React menggunakan Virtual DOM untuk meningkatkan performa aplikasi. Berikut cara kerja
Virtual DOM:
1. Ketika ada perubahan pada state atau props, React membuat salinan Virtual DOM baru.
2. React kemudian membandingkan (diffing) antara Virtual DOM yang baru dan yang lama
untuk melihat bagian mana yang berubah.
Virtual DOM memungkinkan React untuk melakukan proses rendering secara efisien, terutama
pada aplikasi kompleks yang memerlukan pembaruan UI yang cepat.
function Greeting() {
}
Pada contoh di atas:
<h1>Hello, {name}!</h1> adalah JSX, di mana {name} adalah ekspresi JavaScript yang dapat
dimasukkan langsung dalam elemen JSX.
JSX juga mendukung logika JavaScript sederhana, seperti ternary operator untuk membuat
keputusan rendering.
Mudah Dipahami: JSX membuat kode tampak lebih seperti HTML, sehingga mudah dipahami
oleh pengembang yang sudah terbiasa dengan HTML.
Dukungan Ekspresi JavaScript: JSX mendukung ekspresi JavaScript, sehingga kita bisa
menggunakan logika di dalam elemen.
Keamanan XSS: JSX dilengkapi dengan sanitasi otomatis, yang membantu melindungi aplikasi
dari serangan injeksi skrip (XSS).
2. Hooks
Hooks adalah fitur dalam React yang diperkenalkan pada versi 16.8. Hooks memungkinkan kita
menggunakan state dan lifecycle methods dalam komponen fungsional tanpa harus menggunakan
komponen kelas. Berikut adalah beberapa Hooks dasar yang umum digunakan dalam React:
useState: Hook yang memungkinkan kita menambahkan state lokal dalam komponen
fungsional.
function Counter() {
return (
<div>
</div>
);
useState menerima nilai awal (0 dalam contoh ini) dan mengembalikan sepasang nilai: count
(nilai state) dan setCount (fungsi untuk memperbarui state).
Saat tombol diklik, setCount digunakan untuk memperbarui nilai count, dan React akan
merender ulang komponen.
useEffect: Hook yang memungkinkan kita mengelola efek samping, seperti mengambil data
dari API, mengatur event listener, atau mengupdate judul halaman.
function Timer() {
useEffect(() => {
}, 1000);
// Cleanup function
}, []);
o useEffect akan dijalankan setiap kali komponen dirender pertama kali, di mana
interval setiap detik ditambahkan pada seconds.
o Efek tersebut memiliki cleanup function yang menghapus interval saat komponen
dihapus dari DOM.
useContext: Hook yang memungkinkan kita mengakses data dari konteks global tanpa perlu
menggunakan props drilling.
useReducer: Hook yang menyediakan cara untuk mengelola state yang kompleks, mirip
dengan Redux.
Memisahkan Logic dari Struktur: Hooks memungkinkan kita untuk memisahkan logika
pengelolaan state dari logika rendering.
Dengan JSX dan Hooks, pengembangan React menjadi lebih modern, modular, dan efisien. JSX
memberikan kemudahan untuk menyusun UI, sedangkan Hooks memungkinkan penggunaan state
dan lifecycle dalam komponen fungsional.