React JS adalah library JavaScript yang sangat populer untuk membangun antarmuka pengguna (user interface), khususnya pada aplikasi web modern. React dikembangkan oleh Facebook, dan saat ini digunakan oleh perusahaan besar seperti Instagram, Netflix, Shopee, hingga Tokopedia.
Jika kamu ingin menjadi seorang Frontend Developer modern, menguasai React adalah keharusan.
Blog ini akan membahas React dari dasar secara lengkap:
- Apa itu React?
- Keunggulan React
- Cara instalasi dan setup
- Komponen dasar
- Props dan state
- Event handling
- Lifecycle
- Router
- Hooks
- Sumber belajar
1. Apa Itu React?
React adalah sebuah JavaScript library untuk membangun tampilan (view) pada aplikasi web. Fokus utama React adalah pada pembuatan komponen—bagian-bagian UI yang bisa dipakai ulang (reusable).
React bukan framework (seperti Angular atau Vue), melainkan hanya library untuk UI saja. Tapi dengan ekosistemnya yang besar, React bisa dipakai untuk membangun aplikasi skala kecil hingga enterprise.
2. Mengapa Harus Belajar React?
✅ Digunakan oleh ribuan perusahaan besar
✅ Komunitas dan dokumentasi sangat luas
✅ Performa tinggi dengan virtual DOM
✅ Mudah dikombinasikan dengan teknologi lain
✅ Cocok untuk Frontend dan Fullstack (dengan Next.js)
3. Prasyarat Sebelum Belajar React
Sebelum belajar React, kamu sebaiknya sudah memahami:
- HTML dan CSS dasar
- JavaScript dasar (variabel, array, object, function)
- ES6 JavaScript (arrow function, destructuring, spread operator)
4. Cara Install React
Ada dua cara:
a. Tanpa Install: Gunakan CodeSandbox
Langsung coding React di browser:
🔗 https://codesandbox.io/s/new
b. Menggunakan Vite (cara modern & cepat)
Langkah-langkah:
npm create vite@latest nama-proyek -- --template react
cd nama-proyek
npm install
npm run dev
5. Struktur Proyek React
src/
├── App.jsx
├── main.jsx
└── components/
File utama:
- App.jsx → komponen utama aplikasi
- main.jsx → tempat React dipasang ke DOM
6. Membuat Komponen React
Komponen adalah fungsi yang mengembalikan elemen JSX.
function Halo() {
return <h1>Halo dunia!</h1>;
}
Atau versi arrow function:
const Halo = () => <h1>Halo dunia!</h1>;
Menggunakan Komponen
function App() {
return (
<div>
<Halo />
</div>
);
}
7. JSX: Sintaks HTML dalam JavaScript
JSX adalah ekstensi sintaks yang memungkinkan kita menulis HTML di dalam JavaScript.
Contoh:
const element = <h1>Halo JSX</h1>;
Ingat:
- Gunakan
classNamebukanclass - Gunakan
{}untuk menyisipkan variabel
const nama = "Hanif";
return <p>Halo, {nama}</p>;
8. Props: Mengirim Data ke Komponen
Props = properti / parameter untuk komponen
const Welcome = (props) => {
return <h2>Halo, {props.nama}</h2>;
};
// penggunaan
<Welcome nama="Hanif" />
9. State: Menyimpan Data di Komponen
State menyimpan data lokal yang bisa berubah.
import { useState } from 'react';
function Counter() {
const [angka, setAngka] = useState(0);
return (
<div>
<p>Nilai: {angka}</p>
<button onClick={() => setAngka(angka + 1)}>Tambah</button>
</div>
);
}
10. Event Handling
React menangani event seperti klik dengan onClick, onChange, dll.
function KlikSaya() {
const handleClick = () => {
alert("Tombol diklik!");
};
return <button onClick={handleClick}>Klik saya</button>;
}
11. Conditional Rendering
Tampilkan elemen berdasarkan kondisi:
function Selamat({ login }) {
return (
<div>
{login ? <h1>Selamat datang</h1> : <h1>Silakan login dulu</h1>}
</div>
);
}
12. List dan Key
Menampilkan array menggunakan .map():
const list = ["React", "Vue", "Angular"];
function FrameworkList() {
return (
<ul>
{list.map((item, index) => (
<li key={index}>{item}</li>
))}
</ul>
);
}
13. React Router (Navigasi Halaman)
Instal:
npm install react-router-dom
Contoh penggunaan:
import { BrowserRouter, Routes, Route, Link } from 'react-router-dom';
function App() {
return (
<BrowserRouter>
<Link to="/">Home</Link>
<Link to="/about">Tentang</Link>
<Routes>
<Route path="/" element={<Home />} />
<Route path="/about" element={<Tentang />} />
</Routes>
</BrowserRouter>
);
}
14. Hooks: Fitur Modern React
useState – untuk menyimpan data
useEffect – menjalankan efek samping (mirip lifecycle)
useRef – referensi DOM
useContext – mengatur global state
Contoh useEffect:
import { useEffect } from "react";
useEffect(() => {
console.log("Komponen dimuat");
}, []);
15. Mini Project: Aplikasi Hitung Angka
import { useState } from 'react';
function CounterApp() {
const [nilai, setNilai] = useState(0);
return (
<div>
<h2>Nilai: {nilai}</h2>
<button onClick={() => setNilai(nilai + 1)}>+</button>
<button onClick={() => setNilai(nilai - 1)}>-</button>
</div>
);
}
16. Tools Tambahan React (Bonus)
- React Developer Tools (Chrome extension)
- Vite (alat build cepat)
- Tailwind CSS (untuk styling)
- Next.js (framework React untuk SSR)
- React Query (fetching API)
17. Sumber Belajar React Terbaik
📘 React Official Docs (terbaru & interaktif)
https://react.dev/
📘 W3Schools – React Tutorial
https://www.w3schools.com/react/
📘 FreeCodeCamp React Course (YouTube)
https://www.youtube.com/watch?v=bMknfKXIFA8
📘 MDN React Guide
https://developer.mozilla.org/en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/React
📘 Web Programming UNPAS – React (Bahasa Indonesia)
https://youtube.com/playlist?list=PLFIM0718LjIUv_8b5Tt_A9b7cV46L3v6N
18. Kesimpulan
React JS adalah library powerful dan fleksibel untuk membangun UI yang interaktif. Dengan memahami konsep dasar seperti komponen, props, state, event, dan hooks, kamu sudah bisa membangun aplikasi web skala kecil-menengah.
React akan membuka banyak pintu untuk kariermu, baik di frontend, fullstack, hingga mobile developer.

