Ich bin neu zu Reagieren, Reagieren Native und Redux, also versuche ich, viele dieser Nachrichtenkonzepte für die letzten paar Tage um mich zu wickeln.So berechnen Sie Daten mithilfe von Elementen aus verschiedenen Zweig des Statusbaums in Redux Reactive Native?
Ein Problem, auf das ich gerade stieß, ist das Berechnen neuer Daten in Action Creator, bevor es um das Aktionsobjekt herumgelegt und in einen Reduzierer übergeht, der ein Stück Daten von einem anderen Zweig innerhalb des Zustandsbaums benötigt. Wie würdest du das normalerweise lösen? Ändern Sie die Struktur des globalen Statusbaums oder ordnen Sie diesen Datenabschnitt der Komponente zu, die sie benötigt?
den Zustand Baum Gegeben:
{
ListView:{
dataSource : a ListView.DataSource type
}
SubmitForm:{
title : 'name of title',
text : 'description'
}
isFetchingData: true/false
}
Und angeblich, jeder Zweig von einem anderen Minderer gehandhabt wird, und die Daten jeder Zweig in separate Komponente als Requisiten geben.
Hier ist das Szenario (Ich bin die React tutorial übersetzen Mutter mit Redux reagieren):
- Schaltfläche Senden in der SubmitForm
- geklickt wird -> Versand eines Aktionsspeicher zu benachrichtigen, dass sein Daten gesendet, dann async grab und sende {title, text} an den API-Server.
- Nach Erfolg ---> berechnen Sie die vom API-Server zurückgegebene dataSource und übergeben Sie das Ergebnis dataSource an Reducer (gemäß dem Tutorial). Und ich meine dataSource, ich meine dataSource.cloneWithRows (....) (erklärt here), die die DataSource von ListView wie oben gesehen erfordert.
Also mein Gedanke war die Form-Komponente sollte nicht eine Stütze namens dataSource haben, da dies von einem anderen Zweig in der Status-Struktur ist. Aber ohne es bin ich nicht sicher, wie man die gewünschte dataSource erreicht. Das Ändern (in diesem Fall das Zusammenführen von ListView und SubmitForm) der Struktur des Zustandsbaums wäre auch seltsam, was mein Verständnis des Redux-Musters betrifft. Könnte mir jemand helfen, das herauszufinden? Danke
Ich bin mir nicht ganz sicher, ob ich Ihren Standpunkt verstehe. Von dem, was ich sehe, übertrage man im Grunde die Daten von der anderen Verzweigung zu der exklusiven Komponente, die es erfordert (in diesem Fall übergebe ich den gesamten Zustand des Ladens), was ich bereits als eine meiner Lösungen oben vorgeschlagen habe. Das geht zurück zu meiner ursprünglichen Frage: Ist das eine gesunde Praxis oder ist es Anti-Redux? Auch, wenn wir diesen Weg gehen, glaube ich, dass wir gar nicht store.getState() aufrufen müssen, wenn wir die connect() API verwenden, um Daten des Staates abzubilden und als Props an die Komponente zu versenden, da der Zustand des Stores bereits übergeben ist als Argument in mapStateToProps – rustyengineer
Mein Punkt ist die dritte Methode in der obigen Frage Link. Ja, du hast recht. Sie können die Daten über Connect und Requisiten direkt an Aktion weitergeben, das ist ein anderer Weg. @rustyengineer – youngwind