Wie lautet die richtige Methode zum Abrufen der Werte aus einem Formular, das nach jedem Formularupdate von redux-form
verwaltet wird? Ich muss jedes Mal, wenn sich das Formular ändert, eine Aktion senden, die die Werte verwendet, die in das Formular eingegeben werden.Ermitteln von redux-form-Werten in onChange-Ereignis
Meine aktuelle Lösung erhält die alten Werte, anstatt die, die gerade aktualisiert wurden.
onFormChange(e) {
const { fieldValue1, fieldValue2, fieldValue3 } = this.props.fields;
console.log(fieldValue1.value, fieldValue2.value, fieldValue3.value);
}
render() {
return (
<form onChange={this.onFormChange}>
// inputs here
</form>
);
}
Meine andere Lösung ist, aber ich weiß nicht, wie zuverlässig es ist:
onFormChange(e) {
console.log(e);
setTimeout(() => {
const { fieldValue1, fieldValue2, fieldValue3 } = this.props.fields;
console.log(fieldValue1.value, fieldValue2.value, fieldValue3.value);
}, 0);
}
Dies wird eine Endlosschleife verursachen, weil ich eine andere Aktion veröffentliche. – ItsGreg
Deshalb sollten Sie überprüfen, ob sich die Werte tatsächlich geändert haben und nur, wenn sie eine Aktion gesendet haben. Es sei denn, Sie ändern die Werte in der zugeteilten Aktion und Sie haben dann eine Endlosschleife. –
Die "Werte" Requisiten existieren nicht mehr. –