React绑定this的方式在这里总结5种方式:
1.React.createClass自动绑定:React.createClass创建的组件,可以自动绑定this。This这个关键字会自动绑定在组件实例上面。
2.渲染时绑定:这种方法简明扼要,但是有一个潜在的性能问题:当组件每次重新渲染时,都会有一个新的函数创建。 如下所示
onChange={this.handleChange.bind(this)}
3.箭头函数绑定:这种方式和第二种方式类似,所以根据ES6箭头函数,我们可以隐式绑定this,如下所示:
onChange={e => this.handleChange(e)}
当然,与方法二一样,他同样存在潜在的性能问题,下面介绍两种this的绑定方式,可以有效地规避不必要的性能消耗。
4.Constructor内绑定:constructor方法是类的默认方法,通过new命令生成对象实例时,自动调用该方法。使用如下所示:
constructor(props){
super(props);
this.handleChange = this.handleChange.bind(this);
}
通常这种方式被推荐为“最佳实践”,但是与前两种方式比较,constructor内绑定在可读性和可维护性上也有些欠缺。同时