URL パラメーターとクエリ文字列は、Web アプリケーションにおける URL 管理の重要な側面です。これらを使用すると、動的データをさまざまなルートに渡し、そのデータに基づいてルーティングを管理できます。 React Router v6 は、URL パラメーター と クエリ文字列 の処理をシームレスにサポートし、より動的で柔軟なアプリケーションを構築できるようにします。
URL パラメータは、ルート パラメータ または 動的パラメータ とも呼ばれ、動的な値を取得するために使用できる URL の一部です。これらは通常、特定のリソースまたはエンティティを識別するために使用されます。
/profile/:username のようなルートの場合、ユーザー名の部分は URL パラメーターです。
import React from 'react'; import { BrowserRouter as Router, Routes, Route, Link, useParams } from 'react-router-dom'; const Profile = () => { // Use the useParams hook to access URL parameters const { username } = useParams(); return <h2>Profile of {username}</h2>; }; const App = () => { return ( <Router> <nav> <ul> <li><Link to="/profile/john">John's Profile</Link></li> <li><Link to="/profile/sarah">Sarah's Profile</Link></li> </ul> </nav> <Routes> <Route path="/profile/:username" element={<Profile />} /> </Routes> </Router> ); }; export default App;
クエリ文字列は、? の後に表示されるキーと値のペアです。 URLにあります。これらは通常、追加情報をサーバーに渡すため、またはルートを変更せずにページの動作を変更するために使用されます。
/search?query=React のような URL の場合、クエリ文字列は ?query=React です。
React Router v6 では、useLocation フックを使用してクエリ文字列にアクセスできます。 useLocation は、パス名、検索 (クエリ文字列)、ハッシュを含む現在の URL へのアクセスを提供します。
import React from 'react'; import { BrowserRouter as Router, Routes, Route, Link, useParams } from 'react-router-dom'; const Profile = () => { // Use the useParams hook to access URL parameters const { username } = useParams(); return <h2>Profile of {username}</h2>; }; const App = () => { return ( <Router> <nav> <ul> <li><Link to="/profile/john">John's Profile</Link></li> <li><Link to="/profile/sarah">Sarah's Profile</Link></li> </ul> </nav> <Routes> <Route path="/profile/:username" element={<Profile />} /> </Routes> </Router> ); }; export default App;
同じルートで URL パラメーターとクエリ文字列の両方を使用することもできます。たとえば、動的なユーザー名に基づいてユーザー プロファイルを表示し、クエリ パラメーターを使用してデータをフィルター処理することができます。
import React from 'react'; import { BrowserRouter as Router, Routes, Route, Link, useLocation } from 'react-router-dom'; const Search = () => { // Use the useLocation hook to access the query string const location = useLocation(); const queryParams = new URLSearchParams(location.search); const query = queryParams.get('query'); // Extract query parameter from the URL return ( <div> <h2>Search Results</h2> {query ? <p>Searching for: {query}</p> : <p>No search query provided</p>} </div> ); }; const App = () => { return ( <Router> <nav> <ul> <li><Link to="/search?query=React">Search for React</Link></li> <li><Link to="/search?query=JavaScript">Search for JavaScript</Link></li> </ul> </nav> <Routes> <Route path="/search" element={<Search />} /> </Routes> </Router> ); }; export default App;
React Router v6 では、ルーティング ロジックで URL パラメーター と クエリ文字列 の両方を簡単に処理できます。 useParams フックを使用すると、動的ルート パラメーターに簡単にアクセスでき、useLocation と URLSearchParams はクエリ文字列の管理に役立ちます。これらのツールを理解して効果的に使用することで、強化されたルーティング機能を備えた動的で柔軟な React アプリケーションを作成できます。
以上がReact Router v6 で URL パラメーターとクエリ文字列をマスターするの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。