Eug*_*nic 3 javascript setstate reactjs
我正在尝试增加我的状态变量,但每当我这样做时会弹出一个错误,表示变量状态是未定义的.我在构造函数中定义了我的变量.显然,setState函数正在发生一些事情.
以下是呈现错误的代码:
displayDiv(){
var arr=[];
if (this.state.flag[2]){
this.setState({counter:counter+4}); // error:undefined
for (let i = this.state.counter-4; i < this.state.counter; i++)
arr.push(this.state.arrayHeader[0].content);
}
}
return(
arr.map(function(item,i){
return (
<div className="bodydiv col-sm-3">
<Header/>
<Content/>
<Tags/>
</div>
);
})
);
}
Run Code Online (Sandbox Code Playgroud)
这是构造函数中定义的变量:
constructor(props){
super(props);
this.state = {
arrayHeader:[],
arraytag1:[],
arraytag2:[],
counter:0,
flag:[false,false,false]
}
}
Run Code Online (Sandbox Code Playgroud)
你的counter +4点无处可去.
它应该是 this.state.counter + 4
此外,如果您正在调用此函数,请render()确保它之前已绑定,您可以在构造函数上执行以下操作:
this.displayDiv = this.displayDiv.bind(this);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3724 次 |
| 最近记录: |