Applications de réaction mono-page avec les modules React-Router et React-Transition-Group

Ce didacticiel vous expliquera comment utiliser les modules react-router et react-transition-group pour créer des applications React de plusieurs pages avec des animations de transition de page..

Préparation de l'application React

Installation du package create-react-app

Si vous avez déjà eu la chance d’essayer React, vous avez probablement entendu parler de la créer-réagir-app package, ce qui le rend très facile à démarrer avec un environnement de développement React.

Dans ce tutoriel, nous allons utiliser ce paquet pour lancer notre application React..

Donc, tout d’abord, assurez-vous que Node.js est installé sur votre ordinateur. Il installera également npm pour vous.

Dans votre terminal, lancez npm installer -g créer-réagir-application. Cela installera globalement créer-réagir-app sur ton ordinateur.

Une fois que c'est fait, vous pouvez vérifier s'il est là en tapant créer-réagir-app -V.

Création du projet React

Il est maintenant temps de construire notre projet React. Juste courir créer-réagir-application app multi-page. Vous pouvez bien sûr remplacer application multi-page avec tout ce que vous voulez.

À présent, créer-réagir-app va créer un dossier nommé application multi-page. Il suffit de taper cd multi-page-app pour changer de répertoire, et lancez maintenant npm start initialiser un serveur local.

C'est tout. Vous avez une application React en cours d'exécution sur votre serveur local.

Il est maintenant temps de nettoyer les fichiers par défaut et de préparer notre application.

Dans ton src dossier, tout supprimer sauf App.js et index.js. Puis ouvert index.js et remplacez le contenu par le code ci-dessous.

importer Réagir de 'réagir'; importer ReactDOM de 'react-dom'; importer l'application depuis './App'; ReactDOM.render (, document.getElementById ('root')); 

J'ai essentiellement supprimé le registerServiceWorker lignes connexes et aussi la import './index.css'; ligne.

Aussi, remplacez votre App.js fichier avec le code ci-dessous.

importer Réagir, Composant de 'réagir'; La classe App étend le composant render () return ( 
) export par défaut App;

Maintenant nous allons installer les modules requis.

Dans votre terminal, tapez les commandes suivantes pour installer le réagir-routeur et groupe de transition-réaction modules respectivement.

npm installer react-router-dom --save

npm install [email protected] --save

Après avoir installé les paquets, vous pouvez vérifier la package.json fichier dans votre répertoire de projet principal pour vérifier que les modules sont inclus dans les dépendances.

Composants de routeur

Il existe fondamentalement deux options de routeur différentes: HashRouter et BrowserRouter.

Comme le nom l'indique, HashRouter utilise des hachages pour garder une trace de vos liens, et il convient aux serveurs statiques. D'autre part, si vous avez un serveur dynamique, il est préférable d'utiliser BrowserRouter, compte tenu du fait que vos URL seront plus jolies.

Une fois que vous avez choisi celui que vous devriez utiliser, continuez et ajoutez le composant à votre index.js fichier.

importer HashRouter de 'react-router-dom'

La prochaine chose est d'envelopper notre  composant avec le composant routeur.

Donc, votre finale index.js Le fichier devrait ressembler à ceci:

importer Réagir de 'réagir'; importer ReactDOM de 'react-dom'; importer HashRouter depuis 'react-router-dom' import App depuis './App'; ReactDOM.render (, document.getElementById ('root')); 

Si vous utilisez un serveur dynamique et préférez utiliser BrowserRouter, la seule différence serait d'importer le BrowserRouter et l'utiliser pour envelopper le  composant.

En enveloppant nos  composant, nous servons le l'histoire objecter à notre application, et ainsi d’autres composants réagissent-routeur peuvent communiquer les uns avec les autres.

À l'intérieur Composant

À l'intérieur de notre  composant, nous aurons deux composants nommés 

et . Comme les noms l’impliquent, ils tiennent respectivement le menu de navigation et le contenu affiché..

Créez un dossier nommé "Composants" dans ton src répertoire, puis créez le Menu.js et Content.js des dossiers.

Menu.js

Remplissons notre Menu.js composant.

Ce sera un composant fonctionnel sans état puisque nous n’avons pas besoin d’états ni de crochets de cycle de vie.

importer Réagir de 'réagir' const Menu = () => return ( 
  • Accueil
  • Travaux
  • Sur
) Exporter le menu par défaut

Ici nous avons un