Die Lösung für die Seite, die nach Routenänderungen nach Reaktionssprüngen nicht aktualisiert wird

Die Lösung für die Seite, die nach Routenänderungen nach Reaktionssprüngen nicht aktualisiert wird

Frage

Es scheint viele Gründe für dieses Problem zu geben. Mein Problem ist, dass die URL mit Parametern nicht aktualisiert werden kann. In der Router-Version 5.0 ist die Verwendung der mit Router verknüpften Komponente zum Springen zur Seite wie folgt

Bildbeschreibung hier einfügen

Routing-Code

Bildbeschreibung hier einfügen

Lösung

Durch das Hinzufügen eines Schlüssels zum obersten Element der Routing-Komponente wird die Erkennung der Route verbessert, da normale Sprünge anhand des Pfads identifiziert werden. Wenn der Pfad jedoch Parameter enthält, kann die Route nicht genau identifiziert werden. Beim Anspringen einer Seite wird jedoch für jede Adresse ein Schlüssel zum Lokalisierungsobjekt hinzugefügt. Drucken Sie wie folgt

 // Komponente montieren componentDidMount() {
    Konsole.log(diese.Eigenschaften.Standort);
  }

Bildbeschreibung hier einfügen

Wir können die Route genau lokalisieren, indem wir diesen Schlüssel an das oberste Element der Route binden.

 rendern() {
    zurückkehren (
      {/*Das ist der Schlüssel*/}
      <div Schlüssel={this.props.location.key}>
          <Schalter>
            <Route exakter Pfad="/" component={Home} />
            <Route exakter Pfad="/products/:id" component={Products} />
            <Route exakter Pfad="/about" component={About} />
            <Route exakter Pfad="/Lösung" Komponente={Lösung} />
            <Route
              genau
              Pfad="/Lösungsdetails/:id"
              Komponente={SolutionDetails}
            />
            <Route exakter Pfad="/download" component={Download} />
            <Routenpfad="/about" Komponente={Download} />
            <Routengenauer Pfad="/details/:id" component={Details} />
            <Routenpfad="/Kontakt" Komponente={Kontakt} />
            <Routenkomponente={ErrorPage} />
          </Schalter>
      </div>
    );
  }

Möglicherweise stellen Sie jedoch fest, dass this.props ein leeres Objekt {} ist. Das kann daran liegen, dass Sie withRouter nicht zum Zuordnen der Komponente verwendet haben. Ordnen Sie sie einfach zu. Beachten Sie, dass app.js nicht verknüpft werden kann. withrouter kann nur mit Routing-Komponenten oder Unterkomponenten von app.js verknüpft werden.

importiere React, {Komponente} von „react“;
importiere { mit Router } von „react-router“;

Klasse Router erweitert Komponente {
 /**
  * Lebenszyklusfunktion */
 // Komponente montieren componentDidMount() {
   Konsole.log(diese.Eigenschaften.Standort);
 }
 rendern() {
   zurückkehren (
     <div Schlüssel={this.props.location.key}>
     </div>
   );
 }
}
exportiere Standard mit Router(Router);

Dies ist das Ende dieses Artikels über die Lösung des Problems, dass die Seite nach Routenänderungen nach React Jumps nicht aktualisiert wird. Weitere verwandte Inhalte zum Thema „Seite wird nach React Jumps nicht aktualisiert“ finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder durchsuchen Sie die verwandten Artikel weiter unten. Ich hoffe, Sie werden 123WORDPRESS.COM in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Detaillierte Erklärung der Lösung für das Problem, dass die Seite nicht aktualisiert wird, wenn sich der URL-Parameter in React-Router ändert
  • Lösung für das 404-Problem der React-Router-Browserverlaufsaktualisierungsseite

<<:  Ubuntu 18.04 installiert pyenv, pyenv-virtualenv, virtualenv, Numpy, SciPy, Pillow, Matplotlib

>>:  Ausführliche Erklärung zu MySQL vom Einstieg bis zum Aufgeben - Installation

Artikel empfehlen

Anwendung von CSS3-Animationseffekten in Aktivitätsseiten

Hintergrund Ehe wir uns versehen, neigt sich ein ...

Zusammenfassung der Wissenspunkte zum Linux-Datumsbefehl

Verwendung: Datum [Optionen]... [+Format] oder: D...

Neun erweiterte Methoden zur Deduplizierung von JS-Arrays (erprobt und effektiv)

Vorwort Die allgemeinen Methoden sind hier nicht ...

Drei häufig verwendete MySQL-Datentypen

Das Definieren des Datenfeldtyps in MySQL ist für...

Implementierung der mobilen Postcss-pxtorem-Anpassung

Führen Sie den Befehl aus, um das Plugin postcss-...

10 inhaltliche Prinzipien zur Verbesserung der Website-Performance

<br />Englische Adresse: http://developer.ya...

So mounten Sie die CD, um das RPM-Paket unter Linux zu finden

Vorne geschrieben Manchmal müssen Sie bei der Ver...

Üben Sie die Verwendung von Golang, um mit der Docker-API zu spielen

Inhaltsverzeichnis Installieren des SDK Lokalen D...

js zur Realisierung von Login- und Registrierungsfunktionen

In diesem Artikelbeispiel wird der spezifische Co...