Ich hätte gerne eine zweiteilige Submit-Strategie für meine Redux-Form. Zuerst ruft der Benutzer das Formular ab, das eine Validierungsmethode aufruft. Die Antwort könnte einige Warnungen enthalten. Ich möchte, dass der Benutzer die Warnungen (falls vorhanden) sieht und optional mit einem weiteren Senden fortfährt, das ein echter POST für die Server-Rest-API ist.Kann ich handleSubmit als Reaktion auf eine Statusänderung mit redux-form automatisch aufrufen?
Wenn keine Warnungen vorhanden sind, möchte ich, dass die Komponente automatisch gesendet wird. Ich versuche, dies aus der componentWillReceiveProps
Methode zu lösen.
Das Problem ist, dass nextProps.handleSubmit(this.doSubmit2of2);
nicht this.doSubmit2of2
aufrufen. Die Ausführung geht nur über diesen Aufruf hinaus.
componentWillReceiveProps(nextProps) {
//boolean that indicates validation just occured against the server
if (nextProps.storeWithValidation) {
//the user hit submit, first it was validated, if no issues, go ahead and try to create
if (nextProps.storeValidationOk) {
//fire off create store
nextProps.handleSubmit(this.doSubmit2of2);
}
else {
//there are validation issues of some kind, let the user see them
//do nothing here and let the render method do its thing with the props
}
}
}
Ich habe die Diskussion hier: https://github.com/erikras/redux-form/issues/67, aber die in meinem Fall als Ergebnis einer bestimmten Serverantwort geschieht einreichen. Außerdem erkenne ich, dass es Validierungsmerkmale der Redux-Form gibt. Entwerfe ich zu weit außerhalb der geplanten Rahmenkonvention?
Ich habe auch über die Neugestaltung meiner Server API nachgedacht, aber ich würde gerne wissen, wie weit ich mit diesem aktuellen Ansatz der automatischen Wiedervorlage nach einer Antwort vom Server gehen kann.
Danke, ich folge dieser Lösung. Der Schlüssel scheint zu sein, Verzweigungslogik in der Submit-Methode durchzuführen. Ich werde später meine Lösung veröffentlichen. – Dranyar