【react踩坑系列】react中的绑定this,即bind(t

2018-04-24  本文已影响687人  陈大冲

在调用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还是要拥抱的。

上一篇 下一篇

猜你喜欢

热点阅读