Cách chính xác để lấy các giá trị ra khỏi biểu mẫu được quản lý bởi redux-form
sau mỗi lần cập nhật biểu mẫu là gì? Tôi cần phải gửi một hành động mỗi khi biểu mẫu thay đổi, sử dụng các giá trị được nhập vào biểu mẫu.Nhận các giá trị dạng redux trong sự kiện onChange
Giải pháp hiện tại của tôi lấy giá trị cũ, thay vì giá trị cũ đã được cập nhật.
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>
);
}
giải pháp khác của tôi là thế này, nhưng tôi không biết làm thế nào đáng tin cậy đó là:
onFormChange(e) {
console.log(e);
setTimeout(() => {
const { fieldValue1, fieldValue2, fieldValue3 } = this.props.fields;
console.log(fieldValue1.value, fieldValue2.value, fieldValue3.value);
}, 0);
}
Điều này sẽ gây ra một vòng lặp vô hạn, bởi vì tôi đang gửi một hành động khác. – ItsGreg
Đó là lý do tại sao bạn nên kiểm tra xem các giá trị đã thực sự thay đổi hay chưa và chỉ khi chúng đã gửi một hành động. Trừ khi bạn đang thay đổi các giá trị đã nói trong hành động được gửi đi, và sau đó bạn sẽ có một vòng lặp vô hạn. –
Đạo cụ 'giá trị' không còn tồn tại. –