1. Pengenalan React.js
React.js adalah library JavaScript open-source yang dikembangkan oleh Meta (Facebook) untuk membangun antarmuka pengguna (UI) yang interaktif dan responsif. Diluncurkan pertama kali pada tahun 2013, React telah menjadi salah satu library frontend paling populer di dunia pengembangan web modern.
React menggunakan pendekatan komponen-based, di mana setiap bagian dari UI dibuat sebagai komponen yang mandiri dan dapat digunakan kembali. Konsep ini membuat kode lebih terstruktur, mudah di-maintain, dan scalable untuk proyek kecil maupun besar.
Mengapa Memilih React?
| Keunggulan | Penjelasan |
|---|---|
| Virtual DOM | React menggunakan virtual DOM untuk memperbarui UI secara efisien tanpa merender ulang seluruh halaman |
| Komponen Reusable | Setiap komponen bisa digunakan kembali di berbagai bagian aplikasi |
| Ekosistem Besar | Ribuan library pendukung seperti React Router, Redux, Next.js, dll. |
| Declarative | Cukup deskripsikan apa yang ingin ditampilkan, React menangani DOM-nya |
| React Native | Skill React bisa langsung dipakai untuk membuat aplikasi mobile |
| Komunitas Aktif | Dokumentasi lengkap, tutorial berlimpah, dan dukungan komunitas global |
React vs Framework Lain
| Aspek | React | Vue.js | Angular |
|---|---|---|---|
| Tipe | Library | Framework | Framework |
| Bahasa | JavaScript/JSX | JavaScript/Template | TypeScript |
| Ukuran | ~42 KB (gzip) | ~33 KB (gzip) | ~143 KB (gzip) |
| Learning Curve | 🟡 Sedang | 🟢 Mudah | 🔴 Curam |
| State Management | useState / Redux / Zustand | Vuex / Pinia | NgRx / Services |
| Cocok untuk | SPA, Mobile App, Dashboard | SPA kecil-sedang | Enterprise App |
Setup Proyek React
Untuk memulai proyek React, kita menggunakan Vite yang lebih cepat dibanding Create React App (CRA). Jalankan perintah berikut di terminal:
# Buat proyek React baru dengan Vite
npm create vite@latest belajar-react -- --template react
# Masuk ke direktori proyek
cd belajar-react
# Instal dependencies
npm install
# Jalankan development server
npm run dev
# Output:
# VITE v5.x ready in 300 ms
# ➜ Local: http://localhost:5173/
Struktur Proyek
/"belajar-react/"/
/"node_modules/"/
public/
/"vite.svg"/
src/
App.jsx
App.css
/"main.jsx"/
/"components/"/
/"Header.jsx"/
/"Footer.jsx"/
/"Card.jsx"/
/"index.css"/
/"index.html"/
/"package.json"/
/"vite.config.js"/