URL görünüşü seçir
SPA daxilində keçid zamanı eyni tətbiq fərqli görünüş göstərir. Client router brauzer tarixçəsi və URL ilə komponentləri əlaqələndirir. Aşağıdakı nümunə React Router-in müasir deklarativ rejimi üçün react-router paketindən istifadə edir; təlim layihəsində paketi quraşdır.
import { BrowserRouter, Routes, Route, Link, useParams, useSearchParams } from 'react-router';
function Product() {
const { id } = useParams();
return <h1>Məhsul: {id}</h1>;
}
function Search() {
const [params] = useSearchParams();
return <p>Axtarış: {params.get('q') || 'verilməyib'}</p>;
}
export default function App() {
return <BrowserRouter>
<nav><Link to="/">Ana səhifə</Link> <Link to="/products/1">Məhsul</Link></nav>
<Routes>
<Route path="/" element={<Search />} />
<Route path="/products/:id" element={<Product />} />
<Route path="*" element={<h1>Səhifə tapılmadı</h1>} />
</Routes>
</BrowserRouter>;
}
Yol, query və yayımlama
/products/1 yolunda :id dinamik hissədir; /?q=çanta query saxlayır. Link tətbiqdaxili naviqasiyanı router ilə əlaqələndirir. Tam sənəd keçidi və xarici link üçün adi a elementi uyğundur. İç-içə marşrutlarda valideyn görünüşünün övlad hissəsi üçün Outlet istifadə oluna bilər.
Səhifəni birbaşa /products/1 ünvanında yeniləyəndə server həmin yolu da tətbiqin girişinə yönləndirməlidir. Bu SPA hostinq fallback-ıdır; hər fayl sorğusunu yanlış HTML cavabına çevirmə. Nümunə ayrıca React təlim layihəsidir; bu saytın Astro marşrutlarını dəyişdirmək tələb olunmur.