Redux ist ein Plug-In zur Datenstatusverwaltung. Bei der Entwicklung komponentenbasierter SPA-Programme mit React oder Vue ist der Informationsaustausch zwischen Komponenten ein sehr großes Problem. Beispielsweise speichert der Client nach der Anmeldung des Benutzers die Benutzerinformationen (ID, Avatar usw.) und viele Komponenten des Systems verwenden diese Informationen. Bei der Verwendung dieser Informationen ist es sehr mühsam, sie jedes Mal erneut abzurufen. Daher benötigt jedes System eine Funktion zum Verwalten der gemeinsamen Informationen, die von mehreren Komponenten verwendet werden. Dies ist die Rolle von Redux. Wenn Sie ein Entwickler sind, der noch nie mit Redux in Berührung gekommen ist, hoffe ich, dass Sie es sich geduldig ansehen können. Ich bin auch optimistisch in Bezug auf viele Blogs und fasse sie langsam selbst zusammen! ! ! ! Das ist besser, als wenn die Großen sie einzeln suchen würden. importiere React, {Komponente, Fragment} von „react“; //Klasse importimport { connect } von „react-redux“; //Hook import { useSelector, useDispatch } von 'react-redux' importiere { füge hinzu, lösche } von '../../redux/actions/count'; //Anzeigekomponente einhaken const CountItem = (props) => { // Dekonstruieren const { zählen, Flagge, hinzufügen, klar } = Requisiten zurückkehren ( <> <h2>Aktuelle Summe: {count}</h2> <h3>Aktuelle Flagge: {flag ? 'true' : 'false'}</h3> <button onClick={add}>Klick +1</button> <button onClick={clear}>Löschen</button> </> ) } //Containerkomponente einhaken const Count = () => { const count = useSelector(Zustand => Zustand.Summe) const flag = useSelector(Zustand => Zustand.flag) const dispatch = useDispatch() const countAdd = () => { Konsole.log(Typ hinzufügen) Versand(Hinzufügen(1)) } const clearNum = () => { Versand (löschen ()) } zurückgeben <CountItem count={Anzahl} flag={Flag} add={countAdd} clear={clearNum} /> } Export-Standardanzahl // Klasse Anzeigekomponente // Klasse Count erweitert Komponente { // hinzufügen = () => { // // Redux benachrichtigen // diese.props.add(1); // }; // löschen = () => { // diese.props.clear(); // }; // rendern() { // zurückkehren ( // <Fragment> // <h2>Die aktuelle Summe ist: {this.props.count}</h2> // <h3>Aktuelle Flagge: {this.props.flag ? 'true' : 'false'}</h3> // <button onClick={this.add}>Klick +1</button> // <button onClick={this.clear}>löschen</button> // </Fragment> // ); // } // } // Klasse Containerkomponente // Standardverbindung exportieren( // // 1. Status// Status => ({ Anzahl: Status.Summe, Flagge: Status.FlagStatus }), // // 2. Methoden // { hinzufügen, löschen } // )(Zählen); Die grundlegende Verwendung ist ungefähr so. Die Schlüsselmethode, die wir beim Hook verwenden, besteht darin, den Status von Redux mit useSelector zu verwenden und Reduce mit dispatch aufzurufen. In der Klassenkomponente wird connect verwendet, um den Status mit der Methode (Reduce) zu verknüpfen. Die Schwierigkeit liegt hier in Reduce and State Was bedeutet „Reduzieren“ hier? Im obigen Code haben wir die Methoden add und clear verwendet. Wir erstellen eine neue JS-Datei, um diese beiden Methoden zu implementieren. // Ein Aktionsobjekt für die Komponente „Count“ erstellen // Konstanten importieren import { ADD, CLEAR } from '../constant'; // Erstellen Sie eine Funktion zum Hinzufügen eines Aktionsobjekts export const add = data => ({ Typ: ADD, Daten, }); // Erstellen Sie eine Funktion zum Löschen des Aktionsobjekts export const clear = data => ({ Typ: CLEAR, Daten, }); Oben sind Konstanten vorhanden - dies dient der einheitlichen Verwaltung von Aktionstypen. Das Erstellen entsprechender Aktionsobjekte hilft bei der Modularisierung des Codes. export const ADD = "Hinzufügen"; export const CLEAR = "löschen"; An diesem Punkt ist unser Aktionsobjekt fast definiert und wir müssen den Reduzierer verwalten. Das heißt, Dispatch verteilt die oben genannten Aktionsobjekte, um Statusaktualisierungen durchzuführen Im Reducer-Ordner definieren wir eine count.js //Erstellen Sie einen Reducer für die Count-Komponente // Reducer erhält zwei Parameter: preState des vorherigen Status, Aktionsobjekt Aktion importiere { ADD, CLEAR } aus '../constant.js'; // Den Anfangszustand festlegen const initState = 0; Exportiere Standardfunktion addReducer(preState = initState, action) { // Typ und Daten aus Aktion abrufen const { Typ, Daten } = Aktion; //Entscheiden Sie, wie die Daten basierend auf dem Typschalter (Typ) verarbeitet werden sollen { Fall hinzufügen: gibt PreState + Daten zurück; Fall KLAR: gebe 0 zurück; // Initialisierungsaktion Standard: Vorstatus zurückgeben; } } Die obige Methode muss Dispatch verwenden, um die Typverteilung aufzurufen (Hervorhebung hinzugefügt). Die Verwendung ist hier abgeschlossen. Als Nächstes konfigurieren wir Redux für das React-Projekt. Es ist nicht nötig, hier in umgekehrter Reihenfolge zu erzählen, da dies keinen Sinn ergibt. Erster Blick auf die globale Nutzung von Store importiere React von „react“; importiere ReactDOM von „react-dom“; App aus „./App.jsx“ importieren; Store aus „./redux/store“ importieren; importiere { Provider } von „react-redux“; ReactDOM.render( // Provider umschließt App, Zweck: allen untergeordneten Containerkomponenten der App den Empfang von Store-Informationen zu ermöglichen <Anbieter-Store={Store}> <App /> </Anbieter>, document.getElementById('root') ); Hier gibt es ein redux/store.js. Siehe den Code // Das gesamte Dokument hat nur ein Store-Objekt. createStore erhält zwei Parameter, der erste ist der Statusbaum und der zweite die zu verarbeitende Aktion. //applyMiddleware fasst die gesamte Middleware in einem Array zusammen und führt sie nacheinander aus. Dabei wird import { createStore, applyMiddleware } from 'redux'; asynchron verarbeitet. //Middlewareimport thunk von „redux-thunk“; //Alle Reducer zusammenfassen importiere alle Reducers aus „./reducers/index“; //Hier ist das Debugging-Tool von Google, spezifische Verwendung: Baidu import { composeWithDevTools } from 'redux-devtools-extension'; // Den Laden sichtbar machen exportiere Standard „createStore“ (alle Reducers, composeWithDevTools (applyMiddleware (thunk))); Dieser Artikel neigt sich hier dem Ende zu. Ich verstehe einige der darin enthaltenen Ausführungsprozesse und Prinzipien immer noch nicht. Ich muss ihn noch festigen und in Zukunft mehr lernen. Oben finden Sie den ausführlichen Inhalt dieses Artikels zur Verwendung von Redux in React. Weitere Informationen zur Verwendung von Redux in React finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM! Das könnte Sie auch interessieren:
|
>>: MySQL SHOW PROCESSLIST unterstützt den gesamten Prozess der Fehlerbehebung
Erstellen einer Datenbank Rechtsklick - Neue Date...
Genug des Smalltalks <br />Basierend auf de...
Selektorgruppierung Angenommen, Sie möchten, dass...
Inhaltsverzeichnis Was ist der Restoperator? Wie ...
Heute ist mir plötzlich eingefallen, dass es cool ...
Detaillierte Erklärung des Java-Aufrufs von ffmpe...
1. Hintergrund Schaltflächen werden sehr häufig v...
Inhaltsverzeichnis 1. Grundkenntnisse der Indizie...
Inhaltsverzeichnis 1. Das Konzept schnell erkenne...
Vorwort Um in Webanwendungen Datenverkehr zu spar...
Inhaltsverzeichnis Vorwort 1. 404 Seite 1. Ursach...
Die Swap-Partition des Linux-Systems, also die Sw...
Fügen Sie dem el-form-Formular Regeln hinzu: Defi...
Bei Zellen können die hellen Rahmenfarben individ...
MySQL ist eine Datenbank, die mir sehr gefällt. H...