2017-01-31 7 views
1

Was ist der Zweck der Verwendung von subscribe in Code wie store.subscribe(render)? Werden nicht bereits mapStateToProps und connect verwendet, damit die verbundene Komponente jedes Mal neu gerendert wird, wenn sich der Status des Informationsspeichers ändert?Redux # Abonnement gegen #mapStateToProps

Antwort

8

Zitiert die Redux.js Seite:

Technisch Sie die Container-Komponenten von Hand mit store.subscribe schreiben könnte(). Wir raten Ihnen davon ab, dies zu tun, da React Redux viele Leistungsoptimierungen vornimmt, die nur schwer von Hand zu erledigen sind. Aus diesem Grunde eher als Container-Komponenten schreiben, erzeugen wir sie die Funktion connect() zur Verfügung gestellt unter Verwendung von Redux Reaktion,

Wenn Sie bereits mit redux Verwendung reagieren, dann kann man auch ihr Paket verwenden, da Es ist bereits optimiert.

Auch Bezug auf eine vorherige Antwort: https://stackoverflow.com/a/36214059/3938413

3

Die Beispiele, die store.subscribe(render) zeigen, verwenden kleine Codeschnipsel, die Ihnen den grundlegenden Weg zeigen, Redux in Reaktion zu bringen.

store.subscribe kommt aus dem redux Paket. connect kommt aus dem react-redux Paket und ist kein Teil von Redux selbst.

Das react-redux Paket verwendet store.subscribe, um sich selbst in den Redux-Versandzyklus einzubinden. Sie können dann auf den Redux-Speicher zugreifen, indem Sie den Component Enhancer connect verwenden.

Third-Party-Bibliotheken (oder Middleware zum Beispiel) können sich über store.subscribe in den Speicherlebenszyklus einklinken.

Verwandte Themen