Rumah >hujung hadapan web >tutorial js >Menguasai Penghalaan Dinamik dalam React: Bina Aplikasi Fleksibel dan Boleh Skala
Penghalaan Dinamik dalam React merujuk kepada keupayaan untuk mencipta laluan dalam aplikasi anda yang bergantung pada data atau interaksi pengguna, membenarkan laluan berubah secara dinamik. Ini memungkinkan untuk memaparkan paparan berbeza berdasarkan input pengguna, respons API atau parameter URL dinamik.
Penghalaan dinamik amat berguna apabila membina aplikasi yang laluannya tidak boleh dipratakrifkan, seperti apabila kandungan halaman bergantung pada data yang diambil daripada API atau apabila laluan tertentu bergantung pada keadaan atau tindakan apl.
Penghala React ialah perpustakaan yang digunakan untuk melaksanakan penghalaan dalam aplikasi React. Ia menjadikan penghalaan dinamik mudah dengan membenarkan laluan laluan dan komponen berubah berdasarkan data atau keadaan.
Parameter Laluan Dinamik:
Navigasi Programatik:
Penghalaan Bersyarat:
Lalu Memuatkan Malas:
Dalam contoh ini, kami akan menunjukkan cara membuat laluan dengan parameter dinamik dan memaparkannya secara bersyarat berdasarkan URL.
import React from 'react'; import { BrowserRouter, Routes, Route, Link, useParams } from 'react-router-dom'; const UserProfile = () => { const { userId } = useParams(); // Access dynamic parameter from the URL return <h2>User Profile for user: {userId}</h2>; }; const App = () => { return ( <BrowserRouter> <nav> <ul> <li><Link to="/user/1">User 1</Link></li> <li><Link to="/user/2">User 2</Link></li> </ul> </nav> <Routes> <Route path="/user/:userId" element={<UserProfile />} /> {/* Dynamic route */} </Routes> </BrowserRouter> ); }; export default App;
import React from 'react'; import { BrowserRouter, Routes, Route, useNavigate } from 'react-router-dom'; const Home = () => { const navigate = useNavigate(); const goToUserProfile = (id) => { navigate(`/user/${id}`); }; return ( <div> <h2>Home Page</h2> <button onClick={() => goToUserProfile(1)}>Go to User 1</button> <button onClick={() => goToUserProfile(2)}>Go to User 2</button> </div> ); }; const UserProfile = ({ userId }) => { return <h2>User Profile for user: {userId}</h2>; }; const App = () => { return ( <BrowserRouter> <Routes> <Route path="/" element={<Home />} /> <Route path="/user/:userId" element={<UserProfile />} /> </Routes> </BrowserRouter> ); }; export default App;
import React from 'react'; import { BrowserRouter, Routes, Route, Navigate } from 'react-router-dom'; const PrivateRoute = ({ isAuthenticated, children }) => { return isAuthenticated ? children : <Navigate to="/login" />; }; const Dashboard = () => <h2>Dashboard - Only accessible when logged in</h2>; const Login = () => <h2>Login Page</h2>; const App = () => { const isAuthenticated = false; // Change this value to test return ( <BrowserRouter> <Routes> <Route path="/login" element={<Login />} /> <Route path="/dashboard" element={ <PrivateRoute isAuthenticated={isAuthenticated}> <Dashboard /> </PrivateRoute> } /> </Routes> </BrowserRouter> ); }; export default App;
import React, { Suspense } from 'react'; import { BrowserRouter, Routes, Route } from 'react-router-dom'; // Lazy load components const Home = React.lazy(() => import('./Home')); const Dashboard = React.lazy(() => import('./Dashboard')); const App = () => { return ( <BrowserRouter> <Suspense fallback={<div>Loading...</div>}> <Routes> <Route path="/" element={<Home />} /> <Route path="/dashboard" element={<Dashboard />} /> </Routes> </Suspense> </BrowserRouter> ); }; export default App;
Penghalaan dinamik dalam React membolehkan aplikasi yang lebih fleksibel dan interaktif. Dengan menggunakan parameter laluan dinamik, navigasi program, penghalaan bersyarat dan pemuatan malas, anda boleh mencipta apl React yang berkuasa yang menyesuaikan diri berdasarkan interaksi pengguna atau keadaan aplikasi. React Router ialah alat teguh yang menjadikan pelaksanaan penghalaan dinamik dalam React mudah, membolehkan anda membina aplikasi yang kompleks dan berskala dengan mudah.
Atas ialah kandungan terperinci Menguasai Penghalaan Dinamik dalam React: Bina Aplikasi Fleksibel dan Boleh Skala. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!