React Router telepítése Redux alkalmazásba
Az előző leckéken telepítettük az alapvető eszközöket a Redux használatához. Gyakran előfordul, hogy egy alkalmazásnak útválasztóra van szüksége a weboldalai között való navigáláshoz, és az alkalmazásunk nem lesz kivétel. Ehhez telepíteni fogjuk a React Router könyvtárat.
Nyissuk meg a projektünket és gépeljük be a terminálba a következő parancsot:
npm install react-router-dom
Kicsit előreszaladva, elmondom, hogy a mi
Redux alkalmazásunk hagyományosan termékeknek szentelődik,
amelyekről az információt bizonyos eladók
teszik közzé. Ezért most egy kicsit
átalakítjuk a fő App komponenst, és
hozzáadjuk az alkalmazáshoz az útválasztás
megvalósításához szükséges funkcionalitást.
Kezdésként menjünk a src mappába, majd
a app mappába, és hozzunk létre itt egy root.jsx fájlt. Ez
lesz a weboldalunk gyökere: bal oldalon lesz egy menü,
jobbra pedig a tartalom (egyelőre itt csak
cím van):
function Root() {
return (
<div id="main">
<div id="menu">
<nav>
<a>Termékek</a>
<a>Eladók</a>
</nav>
</div>
<div id="main_page">
<h2>Ez az első Redux alkalmazásom!</h2>
<hr></hr>
</div>
</div>
)
}
export default Root
A App komponenst pedig átalakítjuk. Kezdetnek
távolítsuk el teljesen a tartalmát. Ezután
importáljunk két funkciót az útválasztóhoz és a
gyökér komponensünket, a Root-ot:
import { createBrowserRouter, RouterProvider } from 'react-router-dom'
import Root from './app/root'
Az importálás alatt hozzunk létre egy útválasztót,
és írjunk be egy első útvonalat, átadva neki
a Root-ot megjelenítendő elemként,
és ennek megfelelően beállítva az útvonalat '/'-ra.
A továbbiakban a App-be hozzá fogunk adni
más szükséges útvonalakat is:
const router = createBrowserRouter([{ path: '/', element: <Root /> }])
Alább írjuk meg a App függvény kódját:
function App() {
return <RouterProvider router={router} />
}
export default App
Ennyi. Indítsuk el. A következő részben megvalósítjuk a Redux alkalmazás működéséhez szükséges komponenseket.
Végül adjunk hozzá egy kis szépséget, ehhez
írjunk stílusokat a index.css fájlba:
body {
font-size: 24px;
line-height: 1.5;
}
nav {
display: flex;
flex-direction: column;
}
ul {
list-style: none;
padding: 0;
}
h1, h2, h3 {
margin: 0;
}
a {
text-decoration: none;
color: blue;
cursor: pointer;
}
#main {
display: flex;
margin: 20px;
}
#menu {
margin-right: 50px;
padding-top: 50px;
padding-right: 50px;
border-right: 2px solid lightgray;
font-weight: bold;
}
Adja hozzá a React Router-t az alkalmazásához.
Legyen az alkalmazása diákokkal kapcsolatos,
akikről az információt oktatók
teszik közzé. Ezt figyelembe véve
hozza létre a gyökér Root komponenst.
Alakítsa át a App komponenst a
leckében leírtak szerint.