Um die React-Komponenten mit der Funktion Connect () aus der react-redux
Bibliothek mit der Funktion connect()
an den Redux-Speicher zu verbinden, befolgen Sie diese Schritte:
Import connect
: Zunächst müssen Sie die connect
-Funktion aus react-redux
importieren:
<code class="javascript">import { connect } from 'react-redux';</code>
Definieren Sie mapStateToProps
und mapDispatchToProps
: Diese Funktionen sind optional, aber häufig verwendet. mapStateToProps
nimmt den Zustand des Speichers und gibt ein Objekt von Requisiten für Ihre Komponente zurück. mapDispatchToProps
übernimmt die dispatch
und gibt ein Objekt der Aktionsersteller zurück, die an dispatch
gebunden sind.
<code class="javascript">const mapStateToProps = (state) => { return { // Example props todos: state.todos, }; }; const mapDispatchToProps = (dispatch) => { return { // Example action addTodo: (text) => dispatch(addTodo(text)), }; };</code>
mapDispatchToProps
Sie connect
her, um Ihre Komponente zu connect
mapStateToProps
Dadurch wird eine neue Komponente erstellt, die mit dem Redux Store verbunden ist.
<code class="javascript">const ConnectedComponent = connect( mapStateToProps, mapDispatchToProps )(YourComponent);</code>
Exportieren Sie die angeschlossene Komponente : Schließlich können Sie diese neue angeschlossene Komponente so exportieren, um sie in anderen Teilen Ihrer Anwendung zu verwenden.
<code class="javascript">export default ConnectedComponent;</code>
Durch die Befolgen dieser Schritte kann Ihre React -Komponente Daten aus dem Redux -Speicher- und Versandaktionen in den Speicher empfangen, um einen unidirektionalen Datenfluss zu ermöglichen, der für Redux -Anwendungen typisch ist.
Die Verwendung von connect()
zum Verknüpfen von Reaktorenkomponenten mit dem Redux -Store bietet mehrere wichtige Vorteile:
connect()
können Sie deklarativ angeben, welche Daten Ihre Komponente aus dem Speicher benötigt und den Prozess des Verwaltungsstatus in Ihrer Anwendung vereinfacht.connect()
Implements shouldComponentUpdate
unter der Motorhaube mithilfe der Leistung Ihre Anwendung optimieren, indem unnötige Wiederholer bei der Änderung der Status verhindern, die entsprechenden Requisiten jedoch nicht.connect()
wie der Zustand durch Komponenten weitergeleitet wird, die Prop -Bohrung reduziert und die Verwaltung komplexer Zustandsinteraktionen erleichtert.connect()
verbunden sind, sind einfacher zu testen, da Sie die Redux -Speicher und die Komponente isoliert mit vordefinierten Zuständen und Aktionen verspotten und testen können. mapStateToProps
und mapDispatchToProps
sind entscheidende Funktionen in der Funktion connect()
die spezifische Zwecke erfüllen:
MAPSTATETOPROPS : Diese Funktion nimmt den gesamten Redux -Speicherzustand als erstes Argument an und gibt ein Objekt zurück. Die Schlüssel in diesem Objekt werden zu den Requisiten, die an Ihre Komponente übergeben werden. Im Wesentlichen ordnet es Teile des Redux -Status den Requisiten Ihrer Komponente ab, sodass Ihre Komponente staatliche Änderungen abonniert. Zum Beispiel:
<code class="javascript">const mapStateToProps = (state) => { return { todos: state.todos, }; };</code>
In diesem Beispiel wird mapStateToProps
, wenn sich der Status im Redux -Speicher ändert, ausgeführt, und wenn sich der todos
-Status geändert hat, wird er diese neuen todos
-Daten als Prop an die angeschlossene Komponente übergeben.
MAPDISPATCHTOPROPS : Diese Funktion nimmt die dispatch
aus dem Redux -Speicher als Argument aus und gibt ein Objekt mit Aktionserstellern als Werte zurück. Diese Aktionsschöpfer senden bei aufgerufenen Aktionen in den Redux -Store. Die Schlüssel des Objekts werden zu Requisiten für Ihre Komponente. Zum Beispiel:
<code class="javascript">const mapDispatchToProps = (dispatch) => { return { addTodo: (text) => dispatch(addTodo(text)), }; };</code>
Hier wird addTodo
zu einer Requisite für die angeschlossene Komponente, die als this.props.addTodo(text)
in der Komponente bezeichnet werden kann und die addTodo
-Aktion in den Speicher versendet.
Die Verwendung von connect()
mit Redux kann die Leistung von React -Anwendungen auf positive und negative Weise beeinflussen:
Positive Auswirkungen :
connect()
implementiert wird automatisch shouldComponentUpdate
. Dies bedeutet, dass angeschlossene Komponenten nur dann erneut gerendert werden, wenn sich die relevanten Teile des Zustands (wie durch mapStateToProps
festgelegt) tatsächlich geändert haben, was die Leistung durch die Reduzierung unnötiger Neubindungen möglicherweise verbessert.connect()
den Datenfluss durch Ihre Anwendung vereinfachen, die Notwendigkeit reduzieren, Requisiten tief durch den Komponentenbaum zu bestehen und dadurch möglicherweise die Effizienz des Komponentenrenders zu verbessern.Mögliche negative Auswirkungen :
mapStateToProps
optimiert und können nicht versehentlich eine Wiederherstellung von Re-Rendern auslösen, um die Leistung zu beeinflussen, wenn sie nicht korrekt behandelt werden. Um diese Auswirkungen zu mildern, können Entwickler Techniken wie eine Memoisierung mit reselect
für mapStateToProps
verwenden oder React.memo
für verbundene Komponenten zur weiteren Steuerung von Re-Rendern auf der Grundlage von Prop-Änderungen in Betracht ziehen. Darüber hinaus kann eine sorgfältige Gestaltung der staatlichen Struktur und die Verwendung des Geschäfts dazu beitragen, die Leistung effektiv in größeren Anwendungen zu verwalten.
Das obige ist der detaillierte Inhalt vonWie verbinden Sie React -Komponenten mit Connect () an den Redux -Store?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!