동적 라우팅은 애플리케이션에서 데이터나 사용자 상호 작용에 의존하는 경로를 생성하여 경로를 동적으로 변경할 수 있는 기능을 의미합니다. 이를 통해 사용자 입력, API 응답 또는 동적 URL 매개변수를 기반으로 다양한 보기를 렌더링할 수 있습니다.
동적 라우팅은 페이지 콘텐츠가 API에서 가져온 데이터에 따라 달라지거나 특정 경로가 앱의 상태나 작업에 따라 달라지는 경우와 같이 경로를 미리 정의할 수 없는 애플리케이션을 구축할 때 특히 유용합니다.
React Router는 React 애플리케이션에서 라우팅을 구현하기 위한 라이브러리입니다. 데이터나 조건에 따라 경로 경로와 구성 요소를 변경할 수 있어 동적 라우팅이 간단해집니다.
동적 경로 매개변수:
프로그래밍 방식 탐색:
조건부 라우팅:
지연 로딩 경로:
이 예에서는 동적 매개변수를 사용하여 경로를 생성하고 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;
React의 동적 라우팅을 사용하면 보다 유연하고 대화형 애플리케이션이 가능합니다. 동적 경로 매개변수, 프로그래밍 방식 탐색, 조건부 라우팅 및 지연 로딩을 사용하면 사용자 상호 작용이나 애플리케이션 상태에 따라 조정되는 강력한 React 앱을 만들 수 있습니다. React Router는 React에서 동적 라우팅을 쉽게 구현할 수 있게 해주는 강력한 도구로, 복잡하고 확장 가능한 애플리케이션을 쉽게 구축할 수 있습니다.
위 내용은 React에서 동적 라우팅 마스터하기: 유연하고 확장 가능한 애플리케이션 구축의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!