React:setState没有定义,我已经尝试过绑定了

时间:2017-10-20 04:45:53

标签: javascript reactjs

我有一个非常简单的React登录页面:

import React from "react";
import {browserHistory} from 'react-router';

export default class Login extends React.Component{
  constructor(){
    super();
    this.handleEmail = this.handleEmail.bind(this);
    this.handlePW = this.handlePW.bind(this);
    this.handleLogin = this.handleLogin.bind(this);
    this.state = {
      email: "",
      pw: "",
    }
  }

  handleEmail(event){
    this.setState({email:event.target.value});
    console.log(setState);
  }

  handlePW(event){
    this.setState({pw:event.target.value});
    console.log(setState);
  }

  handleLogin(){
    console.log("clicked");
  }

  render(){
    return(
      <div>
        <form>
          Email:
          <br/>
          <input type="text" id="email" onChange={this.handleEmail}/>
          <br/>
          PW:
          <br/>
          <input type="text" id="pw" onChange={this.handlePW}/>
          <input type="submit" value="Submit" id="submit" onClick={this.handleLogin}/>
        </form>
      </div>
    )
  }
}

我遇到以下错误:&#34; ReferenceError:未定义setState&#34;

目标是让我在“提交”按钮上分配“电子邮件”和“密码”的值。我读了一些其他StackOverflow问题,看起来问题是这个绑定 - 我试图在构造函数中解决这个问题。导致此错误的原因是什么?

1 个答案:

答案 0 :(得分:1)

如果您的目标是将状态记录到控制台,则应使用console.log(this.state)