У меня есть функция, которая устанавливает некоторые значения состояния в зависимости от условий. Мне нужно вызвать эту функцию, и сразу после этого мне нужно проверить эти состояния.
class PaymentCard extends Component{
constructor(props) {
super(props);
this.state = {
amount: '0.00',
description: '',
amountError: null,
descriptionError: null,
};
}
handleDescriptionOnBlur = () => {
const value = this.state.description;
if ((!value || value === '' || value.length <= 0 )){
this.setState({descriptionError: 'REQUIRED'});
}
else {
this.setState({ descriptionError: null});
}
}
handleAmountOnBlur = () => {
let value = this.state.amount;
if (value === '0.00'){
this.setState({ amountError: 'REQUIRED' });
}
else {
this.setState({amountError: null});
}
}
runValidations = () => {
this.handleDescriptionOnBlur();
this.handleAmountOnBlur();
const { amount, description, amountError, descriptionError } = this.state;
if (!amountError && !descriptionError) {
this.props.getDetailCardValues({ amount, description });
}
}
render(){
}
}
внутри функции runValidations, условие,
if (! amountError &&! descriptionError),
это условие не имеет обновленных значений из состояния.