Pelajari React Dari Awal Hingga Mahir: Masterclass Lengkap!
Daftar Isi
- Pengantar React
- Persiapan Lingkungan
- Struktur Proyek React
- Memahami JSX
- Komponen React
- Props dan Penggunaannya
- State dan Pengelolaannya
- Event Handling di React
- Lifecycle Komponen
- React Hooks
- Routing dengan React Router
- Manajemen State Lanjutan (Redux)
- Testing di React
- Deployment Aplikasi React
- Penutup dan Tips Lanjutan
1. Pengantar React
React adalah library JavaScript yang digunakan untuk membangun antarmuka pengguna (user interface) yang interaktif dan efisien. Dikembangkan oleh Facebook, React memungkinkan pengembang membuat aplikasi web yang cepat dan mudah dipelihara dengan menggunakan konsep komponen.

Dengan React, Anda dapat membangun aplikasi yang dapat diperbarui secara dinamis tanpa harus memuat ulang halaman secara keseluruhan, sehingga memberikan pengalaman pengguna yang lebih baik.
2. Persiapan Lingkungan
Sebelum mulai coding dengan React, Anda perlu menyiapkan lingkungan pengembangan. Berikut langkah-langkahnya:
- Install Node.js dan npm dari situs resmi nodejs.org .
-
Gunakan
create-react-app
untuk membuat proyek React baru dengan perintah:npx create-react-app nama-proyek-anda
-
Jalankan proyek dengan perintah:
npm start

3. Struktur Proyek React
Setelah membuat proyek React, Anda akan melihat struktur folder seperti berikut:
my-app/ ├── node_modules/ ├── public/ │ ├── index.html │ └── favicon.ico ├── src/ │ ├── App.css │ ├── App.js │ ├── index.js │ └── ... ├── package.json └── README.md
Folder
src
adalah tempat Anda menulis kode React. File
index.js
adalah titik masuk aplikasi, sedangkan
App.js
adalah komponen utama.

4. Memahami JSX
JSX adalah ekstensi sintaks JavaScript yang memungkinkan Anda menulis elemen HTML di dalam JavaScript. Contohnya:
const element = <h1>Halo, React!</h1>;
JSX memudahkan pembuatan UI dengan sintaks yang mirip HTML, namun tetap memiliki kekuatan JavaScript.

5. Komponen React
Komponen adalah blok bangunan utama dalam React. Ada dua jenis komponen:
- Functional Components - fungsi JavaScript yang mengembalikan JSX.
-
Class Components
- kelas ES6 yang mewarisi
React.Component
.
Contoh Functional Component:
function Greeting() { return <h2>Selamat datang di React!</h2>; }

6. Props dan Penggunaannya
Props (properties) adalah cara untuk mengirim data dari komponen induk ke komponen anak.
function Greeting(props) { return <h2>Halo, {props.name}!</h2>; } // Penggunaan <Greeting name="Budi" />

7. State dan Pengelolaannya
State adalah data yang dapat berubah selama siklus hidup komponen. Pada functional component, state dikelola dengan hook
useState
.
import React, { useState } from 'react'; function Counter() { const [count, setCount] = useState(0); return ( <div> <p>Jumlah: {count}</p> <button onClick={() => setCount(count + 1)}>Tambah</button> </div> ); }

8. Event Handling di React
React menggunakan sintaks khusus untuk menangani event, mirip dengan DOM event, namun dengan camelCase.
function Button() { function handleClick() { alert('Tombol diklik!'); } return <button onClick={handleClick}>Klik Saya</button>; }

9. Lifecycle Komponen
Lifecycle adalah tahapan hidup komponen React, seperti mounting, updating, dan unmounting. Pada class component, lifecycle method seperti
componentDidMount
digunakan. Pada functional component, hook
useEffect
menggantikan lifecycle method.
import React, { useEffect } from 'react'; function Timer() { useEffect(() => { const interval = setInterval(() => { console.log('Timer berjalan'); }, 1000); return () => clearInterval(interval); }, []); return <p>Timer aktif</p>; }

10. React Hooks
Hooks adalah fitur React yang memungkinkan penggunaan state dan fitur React lainnya tanpa menulis class. Beberapa hooks penting:
-
useState
- mengelola state lokal. -
useEffect
- menjalankan efek samping. -
useContext
- mengakses context global. -
useRef
- menyimpan nilai yang tidak menyebabkan render ulang.

11. Routing dengan React Router
React Router adalah library untuk mengatur navigasi antar halaman di aplikasi React.
import { BrowserRouter as Router, Routes, Route, Link } from 'react-router-dom'; function App() { return ( <Router> <nav> <Link to="/">Home</Link> <Link to="/about">About</Link> </nav> <Routes> <Route path="/" element=<Home /> /> <Route path="/about" element=<About /> /> </Routes> </Router> ); }

12. Manajemen State Lanjutan (Redux)
Redux adalah library untuk manajemen state global yang membantu mengelola data aplikasi yang kompleks.
import { createStore } from 'redux'; const initialState = { count: 0 }; function reducer(state = initialState, action) { switch(action.type) { case 'INCREMENT': return { count: state.count + 1 }; default: return state; } } const store = createStore(reducer); store.dispatch({ type: 'INCREMENT' }); console.log(store.getState()); // { count: 1 }

13. Testing di React
Testing penting untuk memastikan aplikasi berjalan sesuai harapan. React Testing Library dan Jest adalah tools populer untuk testing React.
import { render, screen } from '@testing-library/react'; import Greeting from './Greeting'; test('menampilkan teks greeting', () => { render(<Greeting name="Budi" />); const greetingElement = screen.getByText(/Halo, Budi!/i); expect(greetingElement).toBeInTheDocument(); });

14. Deployment Aplikasi React
Setelah selesai membuat aplikasi, Anda bisa melakukan deployment ke hosting seperti Netlify, Vercel, atau GitHub Pages.
-
Build aplikasi dengan perintah
npm run build
. -
Upload folder
build
ke hosting pilihan Anda. - Konfigurasi domain dan SSL jika diperlukan.

15. Penutup dan Tips Lanjutan
Selamat! Anda telah mempelajari dasar hingga lanjutan React. Untuk terus mahir, praktikkan membuat proyek nyata, pelajari dokumentasi resmi, dan ikuti perkembangan React terbaru.
Tips lanjutan:
- Pelajari TypeScript untuk React agar kode lebih aman dan terstruktur.
- Gunakan tools seperti ESLint dan Prettier untuk menjaga kualitas kode.
- Eksplorasi server-side rendering dengan Next.js.
- Ikuti komunitas React untuk mendapatkan update dan bantuan.

Terima kasih telah belajar React bersama kami!