React Router

  • Addon/Library für React
  • Verlinkt eine eingegebene Adresse mit den Unterseiten der App
  • (http://.../pfad mit \<BrowserRouter>)
  • Installation über npm: npm install react-router-dom
  • Docs
  • index.tsx:
root.render(
    <React.StrictMode>
        <BrowserRouter>
            <App/>
        </BrowserRouter>
    </React.StrictMode>
);

React Router

  • Link schreibt einen (pseudo-)Link
  • Route verknüpft Pfad mit Komponente
function MainPage() {
    return (
        <div>
            <Link to="/index">Inhalt</Link>
            <Link to="/courses">Kurse</Link>
        </div>
    );
}

function App() {
    return 
        <Routes>
            <Route path="/" element={<MainPage/>}>
                <Route path="index" element={<Index/>}/>
                <Route path="courses" element={<Courses/>}/>
            </Route>
        </Routes>;
}

useParams

  • wird genutzt, um Variablen aus der URL zu lesen
  • http://.../:id <- Wird mit einem Doppelpunkt eingeleitet
function EventDetailPage() {
    
    const params = useParams();
    const id: string | undefined = params.id;
    
    const event: fetchEvent(id);
    
    return(
        <EventCard event={event} />
    );
}

Aufgabe Router

  • Nutze React Router, um in der Rick & Morty App eine Detail-Seite je Charakter anzuzeigen. Auf der Detail-Seite werden
    weitere Eigenschaften des Charakters angezeigt.
  • Nutze hierfür useParams