Διαδρομές στο React Router

Οι Διαδρομές (Routes) αποτελούν το πιο σημαντικό μέρος μιας εφαρμογής στο React Router. Ας εξετάσουμε ένα κομμάτι κώδικα από το προηγούμενο μάθημα:

main.jsxconst router = createBrowserRouter([
  {
    path: '/',
    element: <div>Hello Router!</div>,
  },
]);

Λοιπόν, οι ιδιότητες του αντικειμένου path και element, που περάσαμε στη συνάρτηση κατά τη δημιουργία του δρομολογητή, είναι οι ιδιότητες του αντικειμένου Route. Στην πραγματικότητα, αυτό το αντικείμενο έχει πολλές ιδιότητες, οι οποίες μπορούν να βρεθούν στην επίσημη τεκμηρίωση. Στο μέλλον, θα μας φανούν χρήσιμες μερικές από αυτές:

jsxinterface RouteObject {
  path?: string;
  index?: boolean;
  children?: React.ReactNode;
  caseSensitive?: boolean;
  id?: string;
  loader?: LoaderFunction;
  action?: ActionFunction;
  element?: React.ReactNode | null;
  Component?: React.ComponentType | null;
  errorElement?: React.ReactNode | null;
  ErrorBoundary?: React.ComponentType | null;
  handle?: RouteObject["handle"];
  shouldRevalidate?: ShouldRevalidateFunction;
  lazy?: LazyRouteFunction<RouteObject>;
}

Θα μπορούσαμε να χρησιμοποιήσουμε την εναλλακτική JSX σύνταξη και να γράψουμε τις ιδιότητες ως props για το στοιχείο Route, τότε το κομμάτι κώδικα θα έμοιαζε κάπως έτσι:

main.jsxconst router = createBrowserRouter(
  createRoutesFromElements(
    <Route
      path = '/'
      element = {<div>Hello Router!</div>}
    />
  )
);

Και, φυσικά, θα έπρεπε να προσθέσουμε μερικές ακόμη γραμμές στην εισαγωγή:

main.jsximport {
  createRoutesFromElements,
  createBrowserRouter,
  RouterProvider,
  Route,
} from 'react-router-dom';

Και οι δύο στυλ που παρουσιάζονται στο μάθημα είναι ισοδύναμα. Στο εξής, θα ακολουθούμε το πρώτο στυλ.

Задание 1

Πάρτε την εφαρμογή που δημιουργήσατε στις ασκήσεις των προηγούμενων μαθημάτων. Δοκιμάστε να ξαναγράψετε το κομμάτι κώδικα για τη δημιουργία του δρομολογητή (παλιό κρατήστε προς το παρόν σχολιασμένο), χρησιμοποιώντας την εναλλακτική JSX σύνταξη, που παρουσιάζεται στο μάθημα. Βεβαιωθείτε ότι η εφαρμογή λειτουργεί.

Задание 2

Επαναφέρετε στη θέση του όλο τον παλιό κώδικα, και αφαιρέστε τον νέο. Βεβαιωθείτε ότι η εφαρμογή λειτουργεί.