suchen
HeimWeb-FrontendFront-End-Fragen und AntwortenSo merken Sie sich den Seitenstatus, bevor Sie auf einen Sprung reagieren

React implementiert die Methode zum Speichern des Seitenstatus vor dem Springen: 1. Überwachen Sie Pfadänderungen und aktualisieren Sie lastPath und currentPath im Redux-Speicher. 2. Speichern Sie den Seitenstatus im Redux-Speicher, wenn Sie Seite A verlassen. 3. Wenn der letzte Pfad im Redux-Speicher dem Pfad von Seite B entspricht, wird davon ausgegangen, dass A von B in den wiederhergestellten Zustand zurückversetzt wird, andernfalls wird er nicht wiederhergestellt.

So merken Sie sich den Seitenstatus, bevor Sie auf einen Sprung reagieren

Die Betriebsumgebung dieses Tutorials: Windows 10-System, Reaktionsversion 18.0.0, Dell G3-Computer.

Wie kann ich mir den Seitenstatus merken, bevor ich in React springe?

React-Seite kehrt zurück, um den letzten Status beizubehalten.

Anforderungen. Seite A springt zu Seite B und kehrt dann zu Seite A zurück. Seite A muss den Status wiederherstellen, bevor sie verlassen wird.

  • Seite A und Seite B haben mehrere Eingänge. Wenn Sie von anderen Seiten zu Seite A springen, wird der Status von Seite A nicht wiederhergestellt.

  • Design

Überwachen Sie Pfadänderungen und aktualisieren Sie lastPath und currentPath im Redux-Store.

  • Speichern Sie beim Verlassen von Seite A den Seitenstatus im Redux-Store Wenn beim Aufrufen von Seite A der letzte Pfad im Redux-Speicher mit dem Pfad von Seite B übereinstimmt, wird davon ausgegangen, dass A von B in den wiederhergestellten Zustand zurückversetzt wird, andernfalls wird es nicht wiederhergestellt.

  • Implementierung

  • Das Projekt verwendet die React-Router + DVA-Bibliothek, und der Implementierungsteil umfasst verwandte Technologien.

    Überwachen Sie Pfadänderungen, überwachen Sie Pfadänderungen im Verlauf und zeichnen Sie lastPath und currentPath auf. Hier werden DVA-Abonnements verwendet, um den Verlauf zu abonnieren, und wenn sich der Pfad ändert, werden die Pfadinformationen mit dem Status synchronisiert.
  • const model = {
      namespace: "global",
      state: {
        pathName: { last: "", current: "" },
      },
      reducers: {
        setPathName(state: any, { pathName }: any) {
          state.pathName.last = state.pathName.current;
          state.pathName.current = pathName;
        },
       
      effects: {
      },
      subscriptions: {
        setup({ history, dispatch }: any) {
          return history.listen(({ pathName }: any) => {
            dispatch({ type: "global/setPathName", pathName });
          });
        }
      }
    };
Synchronisieren Sie den Status mit dem Redux-Store, wenn die Seite entladen wird, wie zum Beispiel:

componentWillUnmount() {
    const { dispatch } = this.props;
    const { activeKey } = this.state;
    dispatch({
      type: "projectInfo/setProjectInfoPage",
      payload: { activeKey }
    });
  }
Wenn die Seite neu geladen wird, wie zum Beispiel:
state = {
    activeKey: pathToRegexp(PagePath.B).exec(pathName.last) ? activeKey : ""
  };

pathToRegexp kommt aus der Path-to-Regexp-Bibliothek und wird für den Routenabgleich verwendet Es wird hier verwendet, um zu bestimmen, ob die vorherige Seite für Seite B.

Andere Lösungen

Beurteilen Sie, ob Seite A von Seite B zurückgegeben wird: Fügen Sie den Status hinzu, wenn Seite B zurückkehrt, History.push({ pathname: path, state: {from} });, geben Sie Seite A ein und beurteilen Sie, ob dies der Fall ist basiert auf dem Status Return von Seite B. Wenn B jedoch mehrere Einträge hat, müssen Sie bei der Rückkehr die Quelle der Seite kennen, sonst können Sie nicht zurückkehren und die Logik ist etwas kompliziert und fehleranfällig.

Zusammenfassung

Dieser Artikel schlägt eine Lösung für die Seitenrückführung vor, um den letzten Zustand beizubehalten, was für Situationen geeignet ist, in denen die Seite mehrere Ein- und Ausgänge hat. Diese Lösung verwendet die Methode der Überwachung von Verlaufsänderungen und der Aufzeichnung der letzten Seitenadresse und bietet so eine Grundlage für die Entscheidung, ob der Status wiederhergestellt werden soll.

Empfohlenes Lernen: „

Video-Tutorial reagieren

Das obige ist der detaillierte Inhalt vonSo merken Sie sich den Seitenstatus, bevor Sie auf einen Sprung reagieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Tasten- und React -Versöhnungsalgorithmus: Leistung verbessernTasten- und React -Versöhnungsalgorithmus: Leistung verbessernApr 26, 2025 am 12:21 AM

KeysinreactarespecialAttributes agdoelementssinarraysforstableIdentität, entscheidende Forhereconconconconconconconconconconconconconconconconconconconconconiationalgorithmus, die updatesthesedoxy.1) KeyshelPreactrackChanges, Ergänzungen, orremovalsinlists.2) mithilfe von stable, stableys -ähnlich -ähnlich -ähnlich -ähnlichemdsratherthanindizes

Der für React -Projekte erforderliche Boilerplate -Code: Reduzierung des Setup -OverheadsDer für React -Projekte erforderliche Boilerplate -Code: Reduzierung des Setup -OverheadsApr 26, 2025 am 12:19 AM

ToreducesetupoverheadinreactProjects, UsetoolslikecreaterActApp (CRA), Next.js, Gatsby, Orstarterkits und und MaintainamodularStructur e.1) crasimplifieStupwithasinglecommand.2) Next.jsandgatsByFfermoreFeatures Butalearningcurve.3) StarterkitSprovidecompardesi

Verständnis von usestate (): Ein umfassender Leitfaden für React State ManagementVerständnis von usestate (): Ein umfassender Leitfaden für React State ManagementApr 25, 2025 am 12:21 AM

UsSestate () isareAatthookusedTomanagestateInfunktionalkomponenten.1) ItinitializesAndupDatesTate, 2) sollte beschließt, dass die Komponenten, 3) canleadto'Stalestate'ifnotusedCorcty und 4) aufführungsgeoprisiteusecallbackbackbackbackbackbackbackbackback- und -Propsedates-Propastatupdates.

Was sind die Vorteile der Verwendung von React?Was sind die Vorteile der Verwendung von React?Apr 25, 2025 am 12:16 AM

ReactispopulardUetoitsComponent-basierte Architektur, Virtualdom, Richecosystem und Declarativenature.1) Komponentenbasierte ArchitektureAllowsforsableuipieces, Verbesserung der Modularität und Mainainity.2) TheVirtualDomesHancesByupdoiclyupdatingTheUi.

Debugging in React: Identifizierung und Lösung von gemeinsamen ProblemenDebugging in React: Identifizierung und Lösung von gemeinsamen ProblemenApr 25, 2025 am 12:09 AM

TodebugractApplicationseffectivy, Useethesstrategien: 1) adrescropdrillingwithContextapiorDux.2) HandleasynchronousoperationswithusSestateAndusefect unter Verwendung von ABLORTCONTORTOPREVREPRAPRACECONDITIONS.3) OptimizeperformancewithuSemoemaNtopercallbacktoAid

Was ist Usestate () in React?Was ist Usestate () in React?Apr 25, 2025 am 12:08 AM

UsSestate () InreactAllowStatemanagementInfunktionalkomponenten.1) ItsImplifiessTatemanagement, MAKECODEMORECONCISE.2) UsethePrevCountfunctionToupDatEtatEtateBasedonitSecallbackbackbackbackbackbonbackbackbonbonbonbonbonbonbonporesancePorporanceOptimizatio

Usestate () gegen Usereducer (): Auswahl des richtigen Hakens für Ihre ZustandsbedürfnisseUsestate () gegen Usereducer (): Auswahl des richtigen Hakens für Ihre ZustandsbedürfnisseApr 24, 2025 pm 05:13 PM

EntsSimple, IndependentStateVariables; nutzungsgefertiger () forcomplexStatelogicorwhenstatePendsonPreviousState.1) UsSestate () ISIdeAlforSimpleUpUpdateSliketoggingaboolanorupdatingacounter.2) Usereducer () isBetterFoperePerformAntoRaChers () IsBetterformAntoTterForm

Verwalten von Staat mit usestate (): Ein praktisches TutorialVerwalten von Staat mit usestate (): Ein praktisches TutorialApr 24, 2025 pm 05:05 PM

Usestate ist den Klassenkomponenten und anderen Lösungen für das staatliche Management überlegen, da es das Staatsmanagement vereinfacht, den Code klarer und lesbarer macht und mit Reacts deklarativer Natur übereinstimmt. 1) Usestate ermöglicht es, dass die Zustandsvariable direkt in der Funktionskomponente deklariert wird.

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

MinGW – Minimalistisches GNU für Windows

MinGW – Minimalistisches GNU für Windows

Dieses Projekt wird derzeit auf osdn.net/projects/mingw migriert. Sie können uns dort weiterhin folgen. MinGW: Eine native Windows-Portierung der GNU Compiler Collection (GCC), frei verteilbare Importbibliotheken und Header-Dateien zum Erstellen nativer Windows-Anwendungen, einschließlich Erweiterungen der MSVC-Laufzeit zur Unterstützung der C99-Funktionalität. Die gesamte MinGW-Software kann auf 64-Bit-Windows-Plattformen ausgeführt werden.

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Leistungsstarke integrierte PHP-Entwicklungsumgebung

VSCode Windows 64-Bit-Download

VSCode Windows 64-Bit-Download

Ein kostenloser und leistungsstarker IDE-Editor von Microsoft

SAP NetWeaver Server-Adapter für Eclipse

SAP NetWeaver Server-Adapter für Eclipse

Integrieren Sie Eclipse mit dem SAP NetWeaver-Anwendungsserver.

PHPStorm Mac-Version

PHPStorm Mac-Version

Das neueste (2018.2.1) professionelle, integrierte PHP-Entwicklungstool