Single-Page-React-Anwendungen mit den Modulen React-Router und React-Transition-Gruppe

In diesem Lernprogramm erfahren Sie, wie Sie mit den Reakt-Router- und Reakt-Übergangsgruppen-Modulen mehrseitige React-Anwendungen mit Seitenübergangsanimationen erstellen.

Vorbereitung der React App

Das Paket "create -react-app" installieren

Wenn Sie jemals die Gelegenheit hatten, React zu testen, haben Sie wahrscheinlich von der Create-React-App Paket, das es sehr einfach macht, mit einer React-Entwicklungsumgebung zu beginnen.

In diesem Lernprogramm verwenden wir dieses Paket, um unsere React-App zu starten.

Stellen Sie daher zunächst sicher, dass Node.js auf Ihrem Computer installiert ist. Es wird auch npm für Sie installieren.

Führen Sie in Ihrem Terminal aus npm install -g create -react-app. Dies wird global installiert Create-React-App auf deinem Computer.

Sobald dies geschehen ist, können Sie durch Eingabe überprüfen, ob es dort ist Create-React-App -V.

React-Projekt erstellen

Nun ist es an der Zeit, unser React-Projekt aufzubauen. Renn einfach Mehrseiten-App für create -react-app. Sie können natürlich ersetzen Mehrseiten-App mit allem was du willst.

Jetzt, Create-React-App erstellt einen Ordner mit dem Namen Mehrseiten-App. Schreib einfach CD-Mehrseiten-App Verzeichnis wechseln, und jetzt ausführen npm starten um einen lokalen Server zu initialisieren.

Das ist alles. Sie haben eine React-App, die auf Ihrem lokalen Server ausgeführt wird.

Jetzt ist es Zeit, die Standarddateien zu säubern und unsere Anwendung vorzubereiten.

In deiner src Ordner löschen, aber alles löschen App.js und index.js. Dann öffnen index.js und ersetzen Sie den Inhalt durch den nachstehenden Code.

import Reagieren von 'Reagieren'; importiere ReactDOM von 'reag-dom'; App aus './App' importieren; ReactDOM.render (, document.getElementById ('root')); 

Ich habe im Grunde das gelöscht registerServiceWorker verwandte Linien und auch die import './index.css'; Linie.

Ersetzen Sie auch Ihre App.js Datei mit dem folgenden Code.

importieren Sie React, Component aus 'reagieren'; Die Klasse App erweitert die Komponente render () return ( 
); Standard-App exportieren;

Nun werden wir die benötigten Module installieren.

Geben Sie in Ihr Terminal die folgenden Befehle ein, um das zu installieren reaktionsrouter und Reaktionsübergangsgruppe bzw. Module.

npm install reakt-router-dom --save

npm install [email protected] --save

Nach der Installation der Pakete können Sie das überprüfen package.json Datei in Ihrem Hauptprojektverzeichnis, um zu überprüfen, ob die Module unter enthalten sind Abhängigkeiten.

Router-Komponenten

Grundsätzlich gibt es zwei verschiedene Router-Optionen: HashRouter und BrowserRouter.

Wie der Name andeutet, HashRouter verwendet Hashes, um Ihre Links zu verfolgen, und ist für statische Server geeignet. Wenn Sie jedoch über einen dynamischen Server verfügen, ist dies eine bessere Option BrowserRouter, in Anbetracht der Tatsache, dass Ihre URLs schöner werden.

Wenn Sie sich für eine entschieden haben, wählen Sie einfach die Komponente aus index.js Datei.

HashRouter aus 'Reakt-Router-Dom' importieren

Das nächste ist, unsere einzupacken  Komponente mit der Router-Komponente.

Also dein Finale index.js Datei sollte so aussehen:

import Reagieren von 'Reagieren'; importiere ReactDOM von 'reag-dom'; import HashRouter von 'Reakt-Router-Dom' App importieren von './App'; ReactDOM.render (, document.getElementById ('root')); 

Wenn Sie einen dynamischen Server verwenden und diesen verwenden möchten BrowserRouter, Der einzige Unterschied wäre der Import der BrowserRouter und verwenden Sie es, um die  Komponente.

Durch die Verpackung unserer  Komponente, wir dienen der Geschichte widersprechen unserer Anwendung, und somit können andere Reakt-Router-Komponenten miteinander kommunizieren.

Innerhalb Komponente

In unserem  Komponente werden wir zwei Komponenten haben 

und . Wie die Namen implizieren, enthalten sie jeweils das Navigationsmenü und den angezeigten Inhalt.

Erstellen Sie einen Ordner mit dem Namen "Komponenten" in deiner src Verzeichnis und erstellen Sie das Menu.js und Content.js Dateien.

Menu.js

Füllen wir unser aus Menu.js Komponente.

Es wird eine zustandslose funktionale Komponente sein, da wir keine Zustände und Lebenszyklushaken benötigen.

Reagieren von 'Reagieren' const Menu = () => return ( 
  • Zuhause
  • Arbeitet
  • Über
) Standardmenü exportieren

Hier haben wir eine