Javascript React:setState未定义,我已尝试绑定此
我有一个非常简单的React登录页面:Javascript React:setState未定义,我已尝试绑定此,javascript,reactjs,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 = thi
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>
)
}
}
从“React”导入React;
从“react router”导入{browserHistory};
导出默认类登录扩展React.Component{
构造函数(){
超级();
this.handleEmail=this.handleEmail.bind(this);
this.handlePW=this.handlePW.bind(this);
this.handleLogin=this.handleLogin.bind(this);
此.state={
电邮:“,
pw:“,
}
}
handleEmail(事件){
this.setState({email:event.target.value});
控制台日志(设置状态);
}
handlePW(活动){
this.setState({pw:event.target.value});
控制台日志(设置状态);
}
handleLogin(){
控制台日志(“单击”);
}
render(){
返回(
电邮:
PW:
)
}
}
我遇到以下错误:“ReferenceError:setState未定义”
我的目标是在单击提交按钮时分配电子邮件和密码的值。我读了一些其他的StackOverflow问题,似乎这个问题就是这个绑定——我试图在构造函数中解决这个问题。导致此错误的原因是什么?如果您的目标是将您的状态记录到控制台,则应使用
console.log(this.state)
您的问题是什么?很抱歉不清楚-我收到了一个“ReferenceError:setState未定义”错误,但我不确定如何修复它。我认为状态设置得很好,错误来自控制台日志语句,您在那里缺少一个“this”console.log(setState)代码>正在创建错误。用我在下面的答案中提到的代码替换它。