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 15:13] – [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 |
``` | ``` | ||
+ | // src/ | ||
+ | |||
import { Login } from " | import { Login } from " | ||
import { Error404 } from " | import { Error404 } from " | ||
Ligne 26: | 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 46: | Ligne 51: | ||
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 " | import { useSelector } from " | ||
export const PublicRoutes = () => { | export const PublicRoutes = () => { | ||
- | const session | + | const isAuthentified |
| | ||
- | return | + | return |
}; | }; | ||
``` | ``` | ||
``` | ``` | ||
+ | // src/ | ||
+ | |||
import { Outlet, Navigate } from " | import { Outlet, Navigate } from " | ||
import { useSelector } from " | import { useSelector } from " | ||
export const PrivateRoutes = () => { | export const PrivateRoutes = () => { | ||
- | const session | + | const isAuthentified |
| | ||
- | return | + | return |
}; | }; | ||
``` | ``` | ||
- | Dans ces deux composants, | + | Dans ces deux composants, |
- | Pour résumer, si il y a un utilisateur | + | Pour résumer, si l'utilisateur |
A l' | A l' | ||
``` | ``` | ||
+ | // src/ | ||
+ | |||
import { Login } from " | import { Login } from " | ||
import { Home } from " | import { Home } from " | ||
Ligne 98: | 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' | 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' |