2016-11-23 2 views
0

Ich habe zwei Komponenten, jede über Container verbunden, und beide haben Requisiten über den bereitgestellten Zustand zugeordnet.Kind Komponente rerders aber Elternkomponente nicht

Es gibt eine Aktion, die dazu führt, dass die untergeordnete Komponente neu gerendert wird, während das übergeordnete Element dies nicht tut. Ich verstehe nicht, wie das möglich ist.

Ich bin sicher, dass mein Reduzierer den Zustand nicht mutiert. Die Folge dieser Aktion und der erneuten Diskrepanz ist, dass eine Prop in der untergeordneten Komponente nicht definiert ist (weil sie erfolgreich aus dem Status entfernt wurde). Diese Renderfunktion würde jedoch nicht ausgeführt werden, wenn die Renderfunktion des Parents wie erwartet ausgeführt würde.

Warum wird die Renderfunktion der übergeordneten Komponente nicht aufgerufen, wenn sich der Status ändert?

+0

posten Sie bitte relevanten Code von Ihrer Elternkomponente, Kindkomponente, Reducer und der Aktion Schöpfer in der Frage erwähnt. –

+0

@ free-soul alles in die Frage einfügen? Ich dachte, dass das Verknüpfen hier besser wäre. –

Antwort

1

Das klingt, als ob es sich auf ein Implementierungsdetail in react-redux v4 bezieht, in dem untergeordnete Komponenten vor übergeordneten Komponenten aktualisiert werden. Dies ändert sich in react-redux v5, die Sie testen können, indem Sie npm install [email protected] installieren.

+0

Wow, einfach genug. Ich hatte keine Probleme oder Unterlagen gesehen, die darauf hinwiesen. Ich habe einfach angenommen, dass das Rendern in einer Richtung erfolgt, in der die Zustände und Parameter übergeben werden. Vielen Dank. –

+1

Die nächste react-redux-Betaversion wird diese Änderung aufgrund von einigen React-15-Kompatibilitätsgründen zu einem Opt-in-Verhalten für 5.0 machen, also müssen Sie sie aktivieren, um das "richtige" Verhalten zu erhalten. Der Plan ist, dies zum Standardverhalten zu machen, wenn React 16 landet. Behalten Sie die Versionshinweise zu react-redux im Auge. –

Verwandte Themen