在调用this.setState()的时候出现了this为undefined的情况,如何处理。(四种写法,自己想到三种方法,网上看到一种ES6的写法,无需bind的写法,用箭头函数)
第一种:在ES6中可以在构造函数中,直接将当前组件(或者叫类)的实例与函数绑定。
如this.handleClick = this.handleClick.bind(this);
第二种:在方法编写结尾的时候绑定this,bind(this),如下图。
第三种:在方法调用的时候绑定this,如onClick={this.handleClick.bind(this)}。
图1第四种:箭头函数,ES6中的写法,分为两种有参和无参数。直接上代码。
图2调用的时候的写法:
图3在没有用上箭头函数的时候,我个人比较倾向于第一种写法。
不过ES6还是要拥抱的。
网友评论