Jaki jest poprawny sposób pobierania wartości z formularza zarządzanego przez redux-form
po każdej aktualizacji formularza? Muszę wysłać akcję za każdym razem, gdy zmienia się formularz, używając wartości wprowadzonych do formularza.Uzyskiwanie wartości redux-form w zdarzeniu onChange
Moje obecne rozwiązanie pobiera stare wartości zamiast tych, które zostały właśnie zaktualizowane.
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>
);
}
Moje inne rozwiązanie to jest, ale nie wiem na ile wiarygodne jest:
onFormChange(e) {
console.log(e);
setTimeout(() => {
const { fieldValue1, fieldValue2, fieldValue3 } = this.props.fields;
console.log(fieldValue1.value, fieldValue2.value, fieldValue3.value);
}, 0);
}
Spowoduje to nieskończoną pętlę, ponieważ wysyłam kolejną akcję. – ItsGreg
Dlatego powinieneś sprawdzić, czy wartości się zmieniły i tylko wtedy, gdy wysłały akcję. O ile nie zmienisz tych wartości w wywołanej akcji, a potem będziesz miał nieskończoną pętlę. –
Rekwizyty "wartości" już nie istnieją. –