2016-08-09 58 views
1

Letzten Tag habe ich versucht, einen Wrapper um den Redux-Speicher zu schreiben, aber ich musste Code kopieren und einfügen, um die gleiche API zu erstellen. Mit react konnte ich problemlos meine Klasse von React.Component erweitern, also dachte ich, warum Entwickler von Redux ihren Laden nicht so implementiert haben? hier ist die Kopie des Shop-Code:Was ist der Grund hinter der Implementierung von redux store als Funktion, nicht als Klasse?

https://github.com/reactjs/redux/blob/master/src/createStore.js

Antwort

2

Weil Sie enhancer s stattdessen verwenden können, die Ihnen erlauben, mehrere Funktionen mit dem Laden in der jeweiligen gewünschten Reihenfolge zusammenzusetzen. Die Verwendung der Vererbung erfordert, dass alle Ihre Drittanbieter-Enhancer in der Reihenfolge, in der Sie sie benötigen, von einander erben.

+0

Was ist, wenn ich eine Methode des Speicherns wie Versand überschreiben möchte? Ist es möglich, dies mit Enhancern zu tun? –

+0

Ja. Wenn Sie sich den 'applyMiddleware'-Enhancer von Redux anschauen, werden Sie sehen, dass er genau das tut. Siehe https://github.com/reactjs/redux/blob/master/src/applyMiddleware.js#L30, das eine neue Funktion definiert, die den "echten" "Versand" umschließt und diese Funktion dann als "neu" deklariert "Versand", den jeder anrufen würde. – markerikson