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:

terminalnpm 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):

app/root.jsxfunction 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:

App.jsximport { 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:

App.jsxconst router = createBrowserRouter([{ path: '/', element: <Root /> }])

Alább írjuk meg a App függvény kódját:

App.jsxfunction 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:

index.cssbody {
  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;
}
Задание 1

Adja hozzá a React Router-t az alkalmazásához.

Задание 2

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.