Advertisement

Redirect dan Protected Route - ReactJS

 

1. Apa Itu Redirect dan Protected Route?

Saat membangun aplikasi React, kita sering perlu mengatur navigasi agar pengguna tidak bisa mengakses halaman tertentu tanpa izin. Nah, di sinilah Redirect dan Protected Route berperan!

  • Redirect: Mengalihkan pengguna dari satu halaman ke halaman lain secara otomatis.
  • Protected Route: Mengamankan halaman tertentu agar hanya bisa diakses oleh pengguna yang sudah login.

Mari kita bahas cara implementasinya!

2. Cara Redirect di React

Redirect di React biasanya dilakukan menggunakan useNavigate dari React Router.

Contoh Redirect Otomatis

Misalkan kita ingin mengarahkan pengguna ke halaman login setelah logout:

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

const Logout = () => {
  const navigate = useNavigate();
  
  const handleLogout = () => {
    // Hapus token atau sesi pengguna
    localStorage.removeItem("token");
    
    // Arahkan ke halaman login
    navigate("/login");
  };

  return <button onClick={handleLogout}>Logout</button>;
};

3. Membuat Protected Route

Agar hanya pengguna yang sudah login bisa mengakses halaman tertentu, kita bisa membuat ProtectedRoute.

Contoh Protected Route

import { Navigate, Outlet } from "react-router-dom";

const ProtectedRoute = () => {
  const isAuthenticated = localStorage.getItem("token");
  return isAuthenticated ? <Outlet /> : <Navigate to="/login" />;
};

Menggunakan Protected Route

Sekarang kita bisa menggunakannya di App.js atau di file routing kita:

import { BrowserRouter as Router, Routes, Route } from "react-router-dom";
import ProtectedRoute from "./ProtectedRoute";
import Dashboard from "./Dashboard";
import Login from "./Login";

const App = () => {
  return (
    <Router>
      <Routes>
        <Route path="/login" element={<Login />} />
        <Route element={<ProtectedRoute />}>
          <Route path="/dashboard" element={<Dashboard />} />
        </Route>
      </Routes>
    </Router>
  );
};

4. Kesimpulan

 Redirect digunakan untuk mengarahkan pengguna ke halaman lain.  Protected Route digunakan untuk membatasi akses ke halaman tertentu.  Menggunakan useNavigate untuk navigasi yang lebih fleksibel.  Dengan Protected Route, pengguna yang tidak login tidak bisa mengakses halaman yang seharusnya hanya untuk pengguna terautentikasi.

Dengan memahami konsep ini, kita bisa membangun aplikasi React yang lebih aman dan terstruktur dengan baik!

 

Post a Comment

0 Comments