Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| front:routage [2025/09/25 14:07] – [Routes publiques et privées] paolo | front:routage [2025/09/29 10:25] (Version actuelle) – [Routes publiques et privées] paolo | ||
|---|---|---|---|
| Ligne 3: | Ligne 3: | ||
| Documentation [React-router-dom](https:// | Documentation [React-router-dom](https:// | ||
| - | **React-router-dom** est la lib la plus utilisée pour gérer le routage dans une application React. Elle met à disposition des composants permettant d' | + | **React-router-dom** est la lib la plus utilisée pour gérer le routage dans une application React. Elle met à disposition des composants permettant d' |
| + | . | ||
| ### Mettre en place un router | ### Mettre en place un router | ||
| - | Voyons ce qu'on peut faire avec notre page **Login**. | + | Voyons ce que nous pouvons |
| - | On rajoute | + | * Nous rajoutons |
| ``` | ``` | ||
| - | import { Login } from " | + | // src/ |
| - | import { Error404 } from " | + | |
| + | import { Login } from "../../ | ||
| + | import { Error404 } from "../../ | ||
| export const Router = () => { | export const Router = () => { | ||
| Ligne 27: | Ligne 29: | ||
| ``` | ``` | ||
| - | On a ajouté au passage | + | Nous avons complété notre **Router** en rajoutant |
| - | On remplace | + | * Nous remplaçons |
| ``` | ``` | ||
| + | // src/App.jsx | ||
| + | |||
| import { Router } from " | import { Router } from " | ||
| Ligne 41: | Ligne 45: | ||
| ``` | ``` | ||
| - | Et voilà notre application possède un router ! | + | Et voilà notre application possède un router |
| + | ! | ||
| ### Routes publiques et privées | ### Routes publiques et privées | ||
| Dans la plupart des applications, | Dans la plupart des applications, | ||
| - | Comment fait-on ? Surprise ! On crée deux nouveaux composants: | + | Comment fait-on ? Surprise ! On crée deux nouveaux composants: |
| ``` | ``` | ||
| + | // src/ | ||
| + | |||
| import { Outlet, Navigate } from " | import { Outlet, Navigate } from " | ||
| + | import { useSelector } from " | ||
| export const PublicRoutes = () => { | export const PublicRoutes = () => { | ||
| - | const user = localStorage.getItem(" | + | const isAuthentified |
| | | ||
| - | return | + | return |
| }; | }; | ||
| ``` | ``` | ||
| ``` | ``` | ||
| + | // src/ | ||
| + | |||
| import { Outlet, Navigate } from " | import { Outlet, Navigate } from " | ||
| + | import { useSelector } from " | ||
| export const PrivateRoutes = () => { | export const PrivateRoutes = () => { | ||
| - | const user = localStorage.getItem(" | + | const isAuthentified |
| | | ||
| - | return | + | return |
| }; | }; | ||
| ``` | ``` | ||
| - | Dans ces deux composants, | + | Dans ces deux composants, |
| - | Pour résumer, si il y a un utilisateur authentifié | + | Pour résumer, si l'utilisateur |
| - | A l' | + | A l' |
| ``` | ``` | ||
| + | // src/ | ||
| + | |||
| import { Login } from " | import { Login } from " | ||
| import { Home } from " | import { Home } from " | ||
| Ligne 96: | Ligne 109: | ||
| ``` | ``` | ||
| - | On a ajouté au passage | + | Nous avons complété notre **Router** en rajoutant |
| + | |||
| + | Vous pouvez essayer de définir | ||
| + | |||
| + | On ne traite ici que des routes publiques et privées mais on utiliserait le même système si l'on souhaité rajouter un autre type de route comme les routes d' | ||