Rumah > Artikel > hujung hadapan web > Penghala Reaksi: Konsep dan Panduan Praktikal (Bahagian 1)
Penghalaan ialah ciri penting dalam mana-mana aplikasi web moden. Ia membolehkan pengguna menavigasi antara bahagian atau halaman yang berbeza dengan lancar, mewujudkan pengalaman yang lancar dan interaktif. Dalam React, ini dicapai menggunakan React Router, perpustakaan berkuasa yang direka untuk mengendalikan penghalaan dalam Aplikasi Halaman Tunggal (SPA).
React Router memudahkan proses mencipta laluan dinamik dan bersarang, mengendalikan parameter URL, melaksanakan laluan yang dilindungi dan banyak lagi. Dalam panduan komprehensif ini, kami akan meneroka semua aspek Penghala React, memecahkan konsepnya langkah demi langkah dan melaksanakannya dengan contoh praktikal.
Penghala React ialah perpustakaan berasaskan komponen deklaratif untuk mengurus penghalaan dalam aplikasi React. Ia menggunakan pendekatan moden untuk memetakan URL kepada komponen, membolehkan pembangun membina SPA berskala dan dinamik dengan mudah.
Sebelum bermula, mari sediakan React Router dalam projek anda. Pasang pustaka menggunakan npm atau yarn:
# Using npm npm install react-router-dom # Using yarn yarn add react-router-dom
Setelah dipasang, anda sudah bersedia untuk menyepadukan React Router ke dalam aplikasi anda.
React Router berkisar pada beberapa konsep teras yang membentuk asas sistem penghalaannya. Mari kita pecahkan langkah demi langkah.
Di peringkat atas aplikasi React anda, anda perlu membungkus semuanya di dalam Penghala. React Router menyediakan berbilang jenis penghala, tetapi yang paling biasa ialah BrowserRouter, yang menggunakan API sejarah penyemak imbas untuk mengurus navigasi.
Berikut ialah contoh asas penggunaan BrowserRouter:
# Using npm npm install react-router-dom # Using yarn yarn add react-router-dom
Penjelasan:
Nota: Anda hanya boleh mempunyai satu BrowserRouter pada akar aplikasi anda.
Selepas membungkus apl anda dengan BrowserRouter, anda menentukan laluan individu menggunakan komponen Laluan dan Laluan.
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;
Penjelasan:
Dalam aplikasi React, menggunakan tag untuk navigasi menyebabkan penyemak imbas memuatkan semula halaman. React Router menyediakan komponen Pautan dan NavLink untuk navigasi yang lancar tanpa muat semula halaman.
Komponen Pautan membolehkan anda menavigasi antara laluan dengan mengemas kini URL tanpa memuatkan semula halaman.
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;
Penjelasan:
Komponen NavLink adalah serupa dengan Pautan, tetapi ia membolehkan anda menggayakan pautan berdasarkan sama ada ia aktif.
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;
Perbezaan Utama:
Mari gabungkan konsep ini ke dalam contoh aplikasi kecil:
# Using npm npm install react-router-dom # Using yarn yarn add react-router-dom
Dalam bahagian ini, kami membincangkan asas:
Dalam artikel seterusnya, kami akan meneroka:
Nantikan ansuran seterusnya siri Panduan Muktamad untuk React Router ini!
Atas ialah kandungan terperinci Penghala Reaksi: Konsep dan Panduan Praktikal (Bahagian 1). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!