DEV Community

Shivakumarbs220
Shivakumarbs220

Posted on

Cannot read property 'setState' of undefined

I facing error like this "Cannot read property 'setState' of undefined"

anyone help me


``
class Login extends React.Component {
        constructor(props) {
          super(props);
          this.state = {
            fields: {},
            errors: {},
            logged_in:false
          }
          this.handleChange = this.handleChange.bind(this);
          this.userForm = this.userForm.bind(this);
          this.validateForm=this.validateForm.bind(this);
        };
        handleChange = (e) => {
          let fields = this.state.fields;
          fields[e.target.name] = e.target.value;
          if (this.validateForm()) {
          this.setState({
            fields
          });
        }
        }
        userForm = (e) => {
          e.preventDefault();
          if (this.validateForm()) {
              let fields = {};
              fields["mobileno"] = "";

              this.setState({fields:fields});

          }

        }


    validateForm = () => {

      var fields = this.state.fields;
      var errors = {};
      var formIsValid = true;


      if (!fields["mobileno"]) {
        formIsValid = false;
        errors["mobileno"] = "*Please Enter Valid Mobile Number.";
      }

      if (typeof fields["mobileno"] !== "undefined") {
        if (!fields["mobileno"].match(/^[0-9]{10}$/)) {
          formIsValid = false;
          errors["mobileno"] = "*Please Enter 10 Digits Mobile Number.";
        }
      }


      if(fields["mobileno"] !='')
      {
          var mobile_no = fields['mobileno'];
          let url = '../classbooking/php/classbook.php';
          axios({
            method: 'POST',
            url: url,
            data: {
              mobile_no1: mobile_no
            }
          }).then(function(res) {

            if(res.data.loggedin == true) {
              this.setState({           ------>  error occur here
                logged_in:res.data.loggedin
              });
              errors["mobileno"] = "*Mobile Number  registered.";
            }
            else
             {
              this.setState({
                logged_in:res.data.loggedin
              });
              errors["mobileno"] = "*Mobile Number Not registered.";
            }

          });
      }

      this.setState({
        errors: errors
      });
      return formIsValid;


    }
    }

Latest comments (0)