我是新来的ReactJS,我有一个错误“this.setState不是一个函数”。ReactJS:this.setState不是函数吗?
constructor() {
super();
this.state = {
visible: false,
navLinesShow: true
};
this.navOpen = this.navOpen.bind(this)
}
navOpen() {
this.setState({
navStatus: "navShow",
navLinesShow: false
});
if (this.state.visible === false) {
setTimeout(function(){
this.setState({
visible: true
});
}, 3000);
}
我已将this.navOpen = this.navOpen.bind(this)添加到构造函数中。所以我想问题是用setTimeout函数。
什么是可能的修复?
谢谢。
你好Pinturic。是的,这是完美的。也许你可以解释这个以帮助我更好地理解? – xoomer
你也可以使用箭头函数:'setTimeout(_ => {this.setState(...)},3000)''让'this'按预期工作 – pawel
我更新了解决方案,如果它不清楚我会详细介绍它。如果你的浏览器/转发器支持它,你可以使用胖箭头语法 – pinturic