Framework front : le routage
La table de routes d'une application monopage : chemin vers composant, paramètres, routes imbriquées, page introuvable, navigation par l'API History, garde d'accès et chargement différé.
- 27 cartes
- 6 thèmes
- Gratuit
Le programme, thème par thème
Le poids de chaque thème suit celui que lui donne l'examen.
- Notions
- Questions
- Ranger et relier
- Les étapes
- Mises en situation
- Comprendre
Quelques cartes du deck
Routage côté client : de quoi s'agit-il ?
Voir la réponse
Choix du composant à afficher d'après l'adresse, fait par le script dans le navigateur sans demander une nouvelle page au serveur.
Le script intercepte le clic sur un lien, change l'adresse et remplace une partie de l'écran : la page ne se recharge pas.
Avec cette table, quelle route est choisie pour l'adresse
/produits/42?
```js
const routes = [
{ path: "/", component: Accueil },
{ path: "/produits", component: Liste },
{ path: "/produits/:id", component: Fiche },
{ path: "*", component: Introuvable },
];`/produits/:id, avecidégal à"42"/produits, avec42ignoré*, car42n'est pas une route déclarée/, la route par défaut
Voir la réponse
/produits/:id, avecidégal à"42"Le chemin doit correspondre en entier :
/produitsne couvre pas/produits/42.:idcapture le segment, toujours sous forme de texte. Le joker*ne sert que quand rien d'autre ne convient.Dans l'API History, … ajoute une entrée à la pile d'historique, alors que … remplace l'entrée courante.
Voir la réponse
Dans l'API History, pushState ajoute une entrée à la pile d'historique, alors que replaceState remplace l'entrée courante.
Ni l'un ni l'autre ne charge la page : ils ne changent que l'adresse et l'historique. Après
replaceState, le retour saute l'ancienne adresse.Route : de quoi s'agit-il ?
Voir la réponse
Association, dans la table de routage, entre un motif de chemin et le composant à afficher quand l'adresse y correspond.
Le motif
/produits/:idcorrespond à/produits/42et à/produits/7::idest un paramètre, lu dans le composant.Un clic sur un lien interne dans le routeur : quelle étape vient après « Le routeur intercepte le clic et annule la navigation par défaut » ?
- Il appelle pushState pour changer l'adresse sans requête de page
- Il compare l'adresse à la table de routes et choisit la route
- Il monte le composant de la route, qui demande ses données
- Le bouton retour, plus tard, déclenche popstate et le cycle reprend
Voir la réponse
Il appelle pushState pour changer l'adresse sans requête de page
L'ordre compte : l'adresse change avant l'affichage, et le retour du navigateur passe par
popstateparce que le script, lui, n'a pas appelépushState.