优点
在React中使用箭头函数可以自动绑定this,而不必在构造器中声明。
//常规情况下需要在构造器中绑定this
constructor(props){
this.cancelAE = this.cancelAE.bind(this);
}
cancelAE () {
console.log('cancelAE');
}
缺点
在遇到this指针需要指向不同实例时,如果还使用指针在其它实例上取值会比较困难。
原理
React是函数式编程,我们没有通过箭头函数写的函数并不是实例,而是函数原型,通过在构造器绑定this指针这一过程,才算是创建实例。
创建出来的函数实例才是我们日常在代码中绑定使用的。
// 这种创建方式,创建出来的是函数原型
cancelAE () {
console.log('cancelAE');
}
// 创建cancelAE实例
this.cancelAE = this.cancelAE.bind(this);