调用将状态值设置为状态的函数后,如何立即使用状态值?

时间:2019-06-04 17:25:49

标签: reactjs function state setstate

我具有根据条件设置一些状态值的功能。我需要调用此函数,然后立即检查这些状态。

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函数内部,条件  如果(!amountError &&!descriptionError), 此条件没有该状态的更新值。

1 个答案:

答案 0 :(得分:0)

您可以使用react生命周期方法(componentDidMount和ComponentDidUpdate)来完成此操作,请查看react文档,以获取有关https://reactjs.org/docs/react-component.html

的更多信息