2017-06-01 5 views
1

In meinen früheren Projekten habe ich normalerweise nur eine connect(mapStateToProps, mapDispatchToProps)(App). Aber wenn ich heute den offiziellen example überprüfe, finde ich fast einen connect() für jeden Container.In Redux gibt es eine Verbindung für jeden Container?

Was sind die Vorteile, mehrere connect() zu haben?

+0

connect-Funktion nur ermöglichen Komponente Zugriff auf Daten im Speicher zu erhalten. Es ist ein Controller zwischen Speicher (Modell) und Komponente (Ansicht), der einige Daten aus dem Speicher benötigt. Diese Funktion ist in der Lage, so viele Komponenten wie möglich zu speichern. –

Antwort

5

Stellen Sie sich eine Redux-Version von Stack Overflow Q & A Seite vor. Sie würden einige Komponenten haben: die Frage und ihre Stimmen, Antworten und ihre Stimmen, der Markdown-Editor für zusätzliche Antworten, der Profil-Link an der Spitze und verwandte und Netzwerk-Fragen auf der rechten Seite. Der entsprechende Redux-Speicher könnte Unterobjekte für die aktive Frage, aktive Antworten, verwandte Fragen, das Benutzerprofil und den Abreißeditor haben.

Sie eine einzige Top-Level-connect, wie Sie erwähnt haben, aber connect ing jede Komponente einzeln bietet Leistung und Verkapselung verwenden:

  • Ein einzelner Top-Level-connect bedeutet, dass oben- Level App wird immer neu gerendert, wenn sich ein Redux-Speicherwert ändert, dann muss er diese Requisiten an jede seiner untergeordneten Komponenten weiterleiten (die entweder neu rendern oder überprüfen müssen). Wenn Sie connect für jede Komponente einzeln eingeben, dann z. B. wenn Sie etwas in den Markdown-Editor eingeben und das Segment des Editors aktualisieren, wird nur der Markdown-Editor neu gerendert.
  • Eine einzige Top-Level connect bedeutet, dass die oberste Ebene App alles darunter wissen muss, so dass es alle benötigten Requisiten und Ereignisse selbst übergeben kann. Individuelle connect s bieten Kapselung: die Profilleiste kann connect zu den Requisiten und Aktion Ersteller, die es benötigt, und übergeordnete Komponenten müssen nicht wissen oder kümmern sich um die Details.
Verwandte Themen