【React】在React中的语法问题……

【React】在React中的语法问题……

这里报错了,进去看看,我是这么写的:

【React】在React中的语法问题……

于是我把代码改成这样:

【React】在React中的语法问题……

错误就消失了啊……为什么啊?react 不支持ES5的语法么?

回答

这应该是一个this指向的问题,在您一开始的ES5代码中,第二个this指向的是,setState这个方法,如果您改成这样,就不会报错了。

handleToggle(){

var that = this;

this.setState({

open:!that.state.open,

});

}

而在ES6当中,箭头函数的函数体内的this对象,绑定的是定义时所在的对象,而不是使用时所在的对象,所以您用箭头函数的写法就不会报错了。

@webFunc 思路是对的,但是这么我觉得会报错,应该是

handleToggle = ()=>{}

或者在构造函数里加一句

this.handleToggle = this.handleToggle.bind(this);

以上是 【React】在React中的语法问题…… 的全部内容, 来源链接: utcz.com/a/76683.html

回到顶部