Angenommen, ich habe eine Link
, die mich auf eine Seite zum Hinzufügen/Bearbeiten eines Listeneintrags schickt.Wie verschicke ich eine Aktion, wenn ich bei der Verwendung von React-Router & Redux auf Link klicke?
Wie versende ich eine Redux-Aktion, wenn ich auf die Link
selbst klicke, damit ich den Redux-Speicher zuerst aktualisieren kann, bevor ich tatsächlich auf diese Seite umgeleitet werde.
ZB: Ich klicke auf Bearbeiten Schaltfläche -> Aktion wird ausgelöst -> Store aktualisiert, {'state': 'edit-mode'}
-> Weiterleiten umleiten.
Oder haben Sie einen anderen Weg, um zu erreichen, was ich versuche zu tun?
Vielleicht, wenn Komponente montiert ist, dann werde ich eine Aktion wie stateToEdit
basierend auf bestimmten Bedingungen ausführen? Wenn ja, dann zeige mir bitte deinen Weg. Danke
PS: Ich benutze nur eine Komponente für alle hinzufügen/bearbeiten/löschen. Also ich bin eine Art und Weise zu denken zu machen, auf der Grundlage der state
ob seine auf edit-mode
oder delete-mode
usw.
Anstatt 'Link' zu verwenden, können Sie' browserHistory.push (path) 'mit der onClick-Funktion verwenden. Verteilen Sie Ihre Aktion in dieser Funktion und drücken Sie dann auf den neuen Speicherort. – lux
Ich dachte auch an so etwas, aber ich bin mir nicht sicher, ob dies der richtige Weg ist, um das Problem zu lösen. Ich schätze, ich werde diese Methode für jetzt verwenden. Wenn es andere Wege gibt, würde ich es gerne wissen. Danke –
Ein geeigneterer Weg, um dieses Problem anzugehen, könnte sein, "Redux-Thunk" einzuführen, was wahrscheinlich helfen würde, den Code ein wenig mehr zu organisieren, wenn man diese Aktion "Versenden, dann auf eine andere Seite verschieben" an verschiedenen Stellen ausführen möchte .Werfen Sie einen Blick auf Dans Antwort hier, ich bin mir sicher, dass es die Gänge drehen wird, wie Sie das Problem in Ihrem Kontext angehen könnten: http://stackoverflow.com/questions/35493352/cani-i-dispatch-multiple- actions-ohne-redux-thunk-middleware/35642783 # 35642783 – lux