Lewati ke konten utama

Dynamic & useNavigate

1. Dynamic Route (Parameter URL)

Bagaimana jika kita punya halaman detail produk yang ID-nya beda-beda? (/produk/1, /produk/99).

Step A: Setup Route

Gunakan titik dua : untuk menandai parameter.

<Route path="/produk/:id" element={<DetailProduk />} />

Step B: Tangkap ID (useParams)

Di halaman detail, kita ambil ID-nya.

import { useParams } from 'react-router-dom';

function DetailProduk() {
// Ambil parameter 'id' dari URL
const { id } = useParams();

return <h1>Ini adalah Produk nomor: {id}</h1>;
}

2. useNavigate (Pindah Programatik)

Bagaimana jika kita mau pindah halaman setelah user login atau klik tombol submit? Kita tidak bisa pakai <Link>. Gunakan hook useNavigate.

import { useNavigate } from 'react-router-dom';

function Login() {
const navigate = useNavigate();

const handleLogin = () => {
// Ceritanya proses login sukses...

// Lempar user ke halaman dashboard
navigate('/dashboard');

// Atau mundur ke halaman sebelumnya
// navigate(-1);
};

return <button onClick={handleLogin}>Login</button>;
}