React Router nous permet d’acheminer vers différentes « pages » même sur une application d’une seule page. Apprenez à l’implémenter et à styliser ses liens.
La plupart des applications frontales ont plus d’une page de contenu. Dans une application monopage, nous ajoutons plusieurs pages de données en acheminant des URL pour afficher différents contenus.
React n’a pas de bibliothèque de routage intégrée. Par conséquent, nous devons en ajouter une nous-mêmes.
React Router est une bibliothèque de routage populaire pour les applications React. Dans cet article, nous verrons comment utiliser React Router v6 pour ajouter des fonctionnalités de routage à nos applications React.
Utilisation de base
Pour l’utiliser, nous installons le react-router-dom emballer.
Nous appelons createBrowserRouter pour créer un objet routeur. Nous l’appelons avec un éventail d’itinéraires.
Le path est mappé sur le element étant rendu. Par conséquent, lorsque nous allons au pathnous voyons le contenu dans element rendu.
Le Link Le composant est utilisé pour restituer un lien. Et le to prop est défini sur l’URL de la route que nous voulons parcourir dans l’application.
Nous utilisons RouterProvider avec le router accessoire réglé sur router pour afficher les itinéraires lorsque nous accédons aux URL répertoriées dans le path propriétés.
Nous pouvons également ajouter facilement des itinéraires imbriqués. Pour ce faire, nous pouvons imbriquer les routes dans le children tableau.
pour ajouter des itinéraires imbriqués en les plaçant dans le children tableau. Nous utilisons le Outlet composant pour restituer le contenu des routes imbriquées.
loader est défini sur une fonction qui renvoie une promesse.
request.signal est un objet signal d’abandon que nous pouvons utiliser pour annuler la demande si nous le souhaitons.
Pour obtenir la valeur renvoyée par la promesse, nous utilisons le useLoaderData crochet. Dans Dashboardnous l’appelons simplement pour obtenir les données renvoyées.
Nous ajoutons une autre route imbriquée dans le dernier children tableau avec le login et logout itinéraires. Dans le logout itinéraire, nous redirigeons vers le login itinéraire avec le redirect fonction.
Segments d’espace réservé d’itinéraire
Nous pouvons ajouter des segments d’espace réservé d’itinéraire en les commençant par des points-virgules.
pour ajouter le :parentId et :childId espaces réservés d’itinéraire.
Ensuite, nous appelons useParams dans le Dashboard composant pour obtenir un objet avec le parentId et childId propriétés qui ont les paramètres d’itinéraire.
Le loader la fonction a également un params propriété dans l’objet paramètre. Et nous pouvons faire des choses avec ou le rendre. S’il est renvoyé, nous pouvons récupérer les valeurs useLoaderData comme nous faisons. Et le résultat est la même valeur que celle renvoyée par useParams.
Chaînes de requête
Nous pouvons obtenir et définir des chaînes de requête avec le useSearchParams crochet.
pour ajouter le useSearchParams crochet au Dashboard composant.
Dans celui-ci, nous appelons useSearchParams pour renvoyer un tableau avec la fonction getter et setter.
Nous obtenons la valeur de la chaîne de requête avec searchParams et nous appelons setSearchParams pour définir la chaîne de requête.
searchParams est un habitué URLSearchParams objet intégré au navigateur afin que nous puissions appeler toString pour obtenir la chaîne de requête.
Nous appelons setSearchParams avec un objet avec les clés et les valeurs des paramètres de requête pour rediriger vers l’URL avec la chaîne de requête.
Liens actifs
React Router v6 est livré avec le NavLink composant qui nous permet de styliser facilement les liens selon que nous sommes sur la page vers laquelle il renvoie ou non.
Dans celui-ci, nous ajoutons NavLink des composants pour ajouter des liens que nous pouvons styliser selon que nous sommes sur la page vers laquelle le lien renvoie ou non.
Nous fixons le style prop à une fonction qui prend un objet avec le isActive propriété.
Si isActive est true, nous sommes alors sur la page vers laquelle le lien renvoie. Et nous définissons la couleur du lien sur rouge dans ce cas. Sinon, nous le définissons sur la couleur héritée par défaut.
Le isPending La propriété est également disponible dans le paramètre object afin que nous puissions vérifier si la navigation vers l’itinéraire est en attente.
De même, nous pouvons définir le className propriété à une fonction qui prend le même objet. Et nous pouvons renvoyer des chaînes de nom de classe pour le lien en fonction de l’état de navigation, comme nous le faisons avec la fonction que nous définissons comme valeur du style soutenir.
Nous pouvons maintenant voir que le lien devient rouge lorsque nous sommes sur la page vers laquelle le lien renvoie.
Conclusion
React Router est une bibliothèque de routage simple à utiliser que nous pouvons utiliser pour créer des applications React avec plusieurs pages. Il intègre toutes les fonctionnalités telles que la gestion des chaînes de requête et des paramètres d’URL. Nous pouvons également l’utiliser pour effectuer des opérations lors du chargement d’une route.
Et il propose également un moyen simple de restituer des liens vers différents itinéraires et de les styliser selon que nous sommes déjà sur la page liée ou non.
janvier 6, 2024
Comment utiliser React Router v6
React Router nous permet d’acheminer vers différentes « pages » même sur une application d’une seule page. Apprenez à l’implémenter et à styliser ses liens.
La plupart des applications frontales ont plus d’une page de contenu. Dans une application monopage, nous ajoutons plusieurs pages de données en acheminant des URL pour afficher différents contenus.
React n’a pas de bibliothèque de routage intégrée. Par conséquent, nous devons en ajouter une nous-mêmes.
React Router est une bibliothèque de routage populaire pour les applications React. Dans cet article, nous verrons comment utiliser React Router v6 pour ajouter des fonctionnalités de routage à nos applications React.
Utilisation de base
Pour l’utiliser, nous installons le
react-router-dom
emballer.Pour ce faire, nous exécutons :
Puis nous écrivons :
index.js
App.js
Nous appelons
createBrowserRouter
pour créer un objet routeur. Nous l’appelons avec un éventail d’itinéraires.Le
path
est mappé sur leelement
étant rendu. Par conséquent, lorsque nous allons aupath
nous voyons le contenu danselement
rendu.Le
Link
Le composant est utilisé pour restituer un lien. Et leto
prop est défini sur l’URL de la route que nous voulons parcourir dans l’application.Nous utilisons
RouterProvider
avec lerouter
accessoire réglé surrouter
pour afficher les itinéraires lorsque nous accédons aux URL répertoriées dans lepath
propriétés.Nous pouvons également ajouter facilement des itinéraires imbriqués. Pour ce faire, nous pouvons imbriquer les routes dans le
children
tableau.Par exemple, nous écrivons :
App.js
pour ajouter des itinéraires imbriqués en les plaçant dans le
children
tableau. Nous utilisons leOutlet
composant pour restituer le contenu des routes imbriquées.loader
est défini sur une fonction qui renvoie une promesse.request.signal
est un objet signal d’abandon que nous pouvons utiliser pour annuler la demande si nous le souhaitons.Pour obtenir la valeur renvoyée par la promesse, nous utilisons le
useLoaderData
crochet. DansDashboard
nous l’appelons simplement pour obtenir les données renvoyées.Nous ajoutons une autre route imbriquée dans le dernier
children
tableau avec lelogin
etlogout
itinéraires. Dans lelogout
itinéraire, nous redirigeons vers lelogin
itinéraire avec leredirect
fonction.Segments d’espace réservé d’itinéraire
Nous pouvons ajouter des segments d’espace réservé d’itinéraire en les commençant par des points-virgules.
Par exemple, nous écrivons :
pour ajouter le
:parentId
et:childId
espaces réservés d’itinéraire.Ensuite, nous appelons
useParams
dans leDashboard
composant pour obtenir un objet avec leparentId
etchildId
propriétés qui ont les paramètres d’itinéraire.Le
loader
la fonction a également unparams
propriété dans l’objet paramètre. Et nous pouvons faire des choses avec ou le rendre. S’il est renvoyé, nous pouvons récupérer les valeursuseLoaderData
comme nous faisons. Et le résultat est la même valeur que celle renvoyée paruseParams
.Chaînes de requête
Nous pouvons obtenir et définir des chaînes de requête avec le
useSearchParams
crochet.Pour ce faire, nous écrivons :
pour ajouter le
useSearchParams
crochet auDashboard
composant.Dans celui-ci, nous appelons
useSearchParams
pour renvoyer un tableau avec la fonction getter et setter.Nous obtenons la valeur de la chaîne de requête avec
searchParams
et nous appelonssetSearchParams
pour définir la chaîne de requête.searchParams
est un habituéURLSearchParams
objet intégré au navigateur afin que nous puissions appelertoString
pour obtenir la chaîne de requête.Nous appelons
setSearchParams
avec un objet avec les clés et les valeurs des paramètres de requête pour rediriger vers l’URL avec la chaîne de requête.Liens actifs
React Router v6 est livré avec le
NavLink
composant qui nous permet de styliser facilement les liens selon que nous sommes sur la page vers laquelle il renvoie ou non.Par exemple, on peut l’utiliser en écrivant :
pour ajouter le
Root
composant.Dans celui-ci, nous ajoutons
NavLink
des composants pour ajouter des liens que nous pouvons styliser selon que nous sommes sur la page vers laquelle le lien renvoie ou non.Nous fixons le
style
prop à une fonction qui prend un objet avec leisActive
propriété.Si
isActive
esttrue
, nous sommes alors sur la page vers laquelle le lien renvoie. Et nous définissons la couleur du lien sur rouge dans ce cas. Sinon, nous le définissons sur la couleur héritée par défaut.Le
isPending
La propriété est également disponible dans le paramètre object afin que nous puissions vérifier si la navigation vers l’itinéraire est en attente.De même, nous pouvons définir le
className
propriété à une fonction qui prend le même objet. Et nous pouvons renvoyer des chaînes de nom de classe pour le lien en fonction de l’état de navigation, comme nous le faisons avec la fonction que nous définissons comme valeur dustyle
soutenir.Nous pouvons maintenant voir que le lien devient rouge lorsque nous sommes sur la page vers laquelle le lien renvoie.
Conclusion
React Router est une bibliothèque de routage simple à utiliser que nous pouvons utiliser pour créer des applications React avec plusieurs pages. Il intègre toutes les fonctionnalités telles que la gestion des chaînes de requête et des paramètres d’URL. Nous pouvons également l’utiliser pour effectuer des opérations lors du chargement d’une route.
Et il propose également un moyen simple de restituer des liens vers différents itinéraires et de les styliser selon que nous sommes déjà sur la page liée ou non.
Source link
Partager :
Articles similaires