首页 > 解决方案 > 未处理的拒绝(TypeError):无法读取未定义的属性“catch”

问题描述

我正在使用以下函数将数据从前端传递到后端

 async componentDidMount(){
 let data = this.state.i
 const addFormData = await actions.addFormData(data).catch(e => console.log(e));
 console.log("this is i for actions");
 this.setState({rows: addFormData})
 }

输入的表单数据存储在下面调用的函数变量中 values

    handleSubmit = (e) => {
    e.preventDefault();
    this.props.form.validateFieldsAndScroll((err, values) => {
      if (!err) {
        console.log('Received values of form: ', values);
        this.setState({
          i:values
        }, () => console.log(this.state.i))
      }
    });
  }

我收到此错误 我能知道错误在哪里吗?由于我对react传递 api的后端部分不熟悉

标签: reactjsrest

解决方案


你需要把它放在一个try catch块中

尝试这个:

async componentDidMount(){
 let data = this.state.i;
    try {
         const addFormData = await actions.addFormData(data);
         if(!addFormData ) return console.log("this is i for actions");
         this.setState({rows: addFormData})
    } catch(e) {
        return console.log(e);
    }
}

推荐阅读