ホームページ >ウェブフロントエンド >jsチュートリアル >React で動的ルーティングをマスターする: 柔軟でスケーラブルなアプリケーションを構築する
動的ルーティング とは、データまたはユーザーの操作に応じてアプリケーション内にルートを作成し、ルートを動的に変更できるようにする機能を指します。これにより、ユーザー入力、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 中国語 Web サイトの他の関連記事を参照してください。