路由是任何現代 Web 應用程式的基本功能。它允許用戶在不同部分或頁面之間無縫導航,從而創建流暢的互動體驗。在 React 中,這是使用 React Router 實現的,這是一個強大的函式庫,旨在處理單頁應用程式 (SPA) 中的路由。
React Router 簡化了建立動態和巢狀路由、處理 URL 參數、實作受保護路由等的過程。在這份綜合指南中,我們將探索 React Router 的各個方面,逐步分解其概念並透過實際範例實現它們。
React Router 是一個聲明性的、基於元件的函式庫,用於管理 React 應用程式中的路由。它使用現代方法將 URL 映射到元件,使開發人員能夠輕鬆建立可擴展的動態 SPA。
在開始之前,讓我們在您的專案中設定 React Router。使用npm或yarn安裝庫:
# Using npm npm install react-router-dom # Using yarn yarn add react-router-dom
安裝後,您就可以將 React Router 整合到您的應用程式中。
React Router 圍繞著幾個核心概念展開,這些概念構成了其路由系統的基礎。讓我們一步步分解。
在 React 應用程式的頂層,您需要將所有內容包裝在 Router 中。 React Router 提供了多種類型的路由器,但最常見的一種是 BrowserRouter,它使用瀏覽器的歷史記錄 API 來管理導航。
這是使用 BrowserRouter 的基本範例:
# Using npm npm install react-router-dom # Using yarn yarn add react-router-dom
說明:
注意:應用程式的根目錄下只能有一個 BrowserRouter。
使用 BrowserRouter 包裝您的應用程式後,您可以使用 Routes 和 Route 元件定義單獨的路由。
import React from "react"; import { BrowserRouter } from "react-router-dom"; function App() { return ( <BrowserRouter> <div> <h1>Welcome to My App</h1> <p>Routing starts here!</p> </div> </BrowserRouter> ); } export default App;
說明:
在 React 應用程式中,使用傳統的 導航標籤會導致瀏覽器重新載入頁面。 React Router 提供了 Link 和 NavLink 元件,無需刷新頁面即可無縫導航。
連結元件可讓您透過更新 URL 來在路由之間導航,而無需重新載入頁面。
import React from "react"; import { BrowserRouter, Routes, Route } from "react-router-dom"; function Home() { return <h1>Home Page</h1>; } function About() { return <h1>About Page</h1>; } function App() { return ( <BrowserRouter> <Routes> <Route path="/" element={<Home />} /> <Route path="/about" element={<About />} /> </Routes> </BrowserRouter> ); } export default App;
說明:
NavLink 元件與 Link 類似,但它允許您根據連結是否處於活動狀態來設定連結樣式。
import React from "react"; import { BrowserRouter, Routes, Route, Link } from "react-router-dom"; function Home() { return <h1>Home Page</h1>; } function About() { return <h1>About Page</h1>; } function Navbar() { return ( <nav> <Link to="/">Home</Link> <Link to="/about">About</Link> </nav> ); } function App() { return ( <BrowserRouter> <Navbar /> <Routes> <Route path="/" element={<Home />} /> <Route path="/about" element={<About />} /> </Routes> </BrowserRouter> ); } export default App;
主要區別:
讓我們將這些概念組合到一個小範例應用程式中:
# Using npm npm install react-router-dom # Using yarn yarn add react-router-dom
在這一部分中,我們介紹了基礎知識:
在下一篇文章中,我們將探討:
請關注本React Router 終極指南系列的下一篇!
以上是React Router:概念與實用指南(第 1 部分)的詳細內容。更多資訊請關注PHP中文網其他相關文章!