Kódím.cz
1

Opakování Reactu

Zopakujeme si znalosti Reactu z předchozích kurzů

React router

V Reactu vytváříme primárně tzv. SPA (Single-page Application), kde se veškerá interakce s uživatelem děje v rámci jedné stránky a React jen aktualizuje její obsah.

Chceme-li naši aplikaci rozšířit na více stránek, musíme zařídit, aby při přechodu na novou stránku React aktualizoval obsah v prohlížeči. O to se postará například knihovna (React Router)[https://reactrouter.com/en/main].

Knihovnu musíme do naší aplikace doinstalovat pomocí NPM.

npm install react-router-dom

Nyní máme v aplikaci k dispozici množství komponent, se kterými můžeme pracovat. Nejprve je musíme v aplikaci naimportovat, jako každou jinou komponentu.

import React from 'react'
import ReactDOM from 'react-dom/client'
import {
  createBrowserRouter,
  RouterProvider,
  Link,
  Outlet,
} from "react-router-dom";

// konfigurace routeru
const router = createBrowserRouter([
  {
    path: "/",
    element: <App />,
    children: [
      {
        path: 'about',
        element: <About />,
      },
      {
        path: 'Contact',
        element: <Contact />,
      },
    ]
  },
]);


function About() {
  return (
    <>
      <h2>About</h2>
      <p>Lorem ipsum...</p>
    </>
  );
}

function Contact() {
  return (
    <>
      <h2>Contact</h2>
      <p>Lorem ipsum...</p>
    </>
  );
}

const App = () => (
  <div>
    <h1>Super Store</h1>
    <nav>
      <Link to="/about">About</Link> |{' '}
      <Link to="/contact">Contact</Link>
    </nav>
    <main>
      <Outlet />
    </main>
  </div>
);

ReactDOM.createRoot(document.getElementById('root')).render(
  <React.StrictMode>
    <RouterProvider router={router} />
  </React.StrictMode>,
);