Každá moderná webová aplikácia potrebuje navigáciu medzi rôznymi stránkami. V prípade React aplikácií sa na tento účel najčastejšie používa React Router, ktorý umožňuje efektívne a jednoduché spracovanie routovania. V tomto článku sa pozrieme na to, čo je React Router, ako funguje a ako ho môžete správne implementovať vo svojej aplikácii.
React Router je knižnica, ktorá umožňuje navigáciu v single-page aplikáciách (SPA). Vďaka nemu môžeme prepínať medzi rôznymi stránkami bez nutnosti obnovovania celej stránky.
Správne routovanie v Reacte umožňuje:
Predtým, ako začnete, je potrebné nainštalovať balík react-router-dom:
npm install react-router-dom
Ak používate Yarn, môžete ho nainštalovať pomocou:
yarn add react-router-dom
Najjednoduchším spôsobom použitia React Router je zaviesť ho do aplikácie nasledovne:
import { BrowserRouter, Routes, Route } from "react-router-dom";
function Domov() {
return <h2>Domovská stránka</h2>;
}
function O_nas() {
return <h2>O nás</h2>;
}
function App() {
return (
<BrowserRouter>
<Routes>
<Route path="/" element={<Domov />} />
<Route path="/o-nas" element={<O_nas />} />
</Routes>
</BrowserRouter>
);
}
export default App;
Vysvetlenie:
BrowserRouter – Obaluje aplikáciu a umožňuje správu URL ciest.Routes – Obsahuje jednotlivé Route, ktoré definujú cesty.Route – Určuje cestu a komponent, ktorý sa zobrazí.React Router poskytuje komponent Link, ktorý umožňuje navigáciu medzi stránkami bez ich obnovenia.
import { BrowserRouter, Routes, Route, Link } from "react-router-dom";
function Domov() {
return <h2>Domovská stránka</h2>;
}
function O_nas() {
return <h2>O nás</h2>;
}
function Navigacia() {
return (
<nav>
<Link to="/">Domov</Link> |
<Link to="/o-nas">O nás</Link>
</nav>
);
}
function App() {
return (
<BrowserRouter>
<Navigacia />
<Routes>
<Route path="/" element={<Domov />} />
<Route path="/o-nas" element={<O_nas />} />
</Routes>
</BrowserRouter>
);
}
export default App;
Teraz máme navigáciu, ktorá umožňuje prepínanie medzi stránkami.
Často je potrebné odovzdávať parametre do URL. To dosiahneme pomocou useParams hooku.
import { useParams } from "react-router-dom";
function Profil() {
let { id } = useParams();
return <h2>Profil používateľa: {id}</h2>;
}
Pridanie dynamického routu:
<Route path="/profil/:id" element={<Profil />} />
Ak teraz navštívite /profil/123, zobrazí sa „Profil používateľa: 123“.
BrowserRouter a HashRouter?BrowserRouter používa čisté URL, zatiaľ čo HashRouter používa „#“ v URL pre kompatibilitu so staršími servermi.
Môžete použiť hook useNavigate:
import { useNavigate } from "react-router-dom";
function Domov() {
let navigate = useNavigate();
return <button onClick={() => navigate("/o-nas")}>Prejsť na O nás</button>;
}
Pridajte do Routes defaultnú cestu *:
<Route path="*" element={<h2>Stránka neexistuje</h2>} />
useNavigate je možné programovo meniť URL bez potreby obnovovania stránky.Ak máte záujem o prezenčné alebo online školenie programovania, pozrite si našu ponuku na www.like-it.sk. Naše kurzy vedú skúsení odborníci, ktorí vám pomôžu zvládnuť základy aj pokročilé koncepty programovania.
Viac informacií preberáme na kurze: