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.