Javascript 反应:未捕获类型错误:this.setState不是函数
我是一个新的反应,并编写我的第一个web应用程序。我正在尝试编写一个搜索方法,它可以查看医生列表。我得到一个“未捕获类型错误:this.setState不是函数”。我试图在函数末尾添加.bind,但仍然出现错误。我不知道如何进行。 代码如下:Javascript 反应:未捕获类型错误:this.setState不是函数,javascript,reactjs,ecmascript-6,setstate,Javascript,Reactjs,Ecmascript 6,Setstate,我是一个新的反应,并编写我的第一个web应用程序。我正在尝试编写一个搜索方法,它可以查看医生列表。我得到一个“未捕获类型错误:this.setState不是函数”。我试图在函数末尾添加.bind,但仍然出现错误。我不知道如何进行。 代码如下: this.searchBox.addEventListener('keyup', function(text){ this.state = { doctors: ["Dr Smith", "Dr
this.searchBox.addEventListener('keyup', function(text){
this.state = {
doctors: ["Dr Smith", "Dr Jones", "Dr Mary"],
//list of matched doctors
matchedDoctors: []
}
document.getElementById("demo").innerHTML = "hello world";
var list = [];
//console.log(this.state.doctors);
for(var i = 0; i<this.state.doctors.length; i++){
if(this.state.doctors[i].toLowerCase().includes(text.toString().toLowerCase())){
list.push(
this.state.doctors[i]
)
}
}
this.setState({matchedDoctors:list});
}
);
this.searchBox.addEventListener('keyup',函数(文本){
此.state={
医生:[“史密斯医生”、“琼斯医生”、“玛丽医生”],
//配对医生名单
匹配的医生:[]
}
document.getElementById(“demo”).innerHTML=“hello world”;
var列表=[];
//console.log(this.state.documents);
对于(var i=0;iPost full component,请console.log(this)
,您应该知道为什么?您通常不应该将addEventListener
与react一起使用。我猜在这种情况下,this
是搜索框元素。此外,this.state
应该在构造函数中定义。