Wie übergebe ich Reduction-Status an Unterstrecken?

9

Ich habe Schwierigkeiten zu verstehen, wie man redox zusammen mit react-router verwendet.

index.js

%Vor%

App.js

%Vor%

Show.js

%Vor%

Dies wirft

  

Uncaught TypeError: Kann die Eigenschaft 'map' von undefined

nicht lesen

Die einzige Lösung, die ich gefunden habe, ist, diese anstelle von {children} zu verwenden:

%Vor%

Ist das wirklich der richtige Weg?

    
user2906759 20.10.2015, 11:55
quelle

2 Antworten

3

Verwenden Sie react-redux

Um beliebige Ersteller von Status oder Aktionen in props einer React-Komponente zu injizieren, können Sie connect von % co_de verwenden % , das ist die offizielle React-Bindung für Redux.

Es lohnt sich, die Dokumentation für react-redux hier .

Als ein Beispiel basierend auf dem, was in der Frage angegeben ist, würden Sie so etwas tun:

%Vor%

Damit dies funktioniert, müssen Sie Ihre Root-Komponente oder Ihren Router mit einem connect von Provider umschließen (dies ist bereits in Ihrem obigen Beispiel vorhanden). Aber zur Klarheit:

%Vor%

Wenn für Komponenten kein Status oder Aktionsersteller erforderlich ist, können Sie einfach eine "dumme" React-Komponente exportieren, und beim Rendern wird der Status Ihrer App nicht angezeigt.

    
GordyD 14.01.2016 19:04
quelle
0

Ich habe es gelöst, indem ich den Zustand mit connect in jeder Komponente explizit zugeordnet habe:

%Vor%

Auf diese Weise kann ich entscheiden, auf welche Eigenschaften des Zustands die Komponente ebenfalls zugreifen soll und die Requisiten weniger verschmutzt. Nicht sicher, ob dies die beste Vorgehensweise ist.

    
user2906759 20.10.2015 15:00
quelle