react项目中this指向问题(两种处理方法)

2016-10-12  本文已影响0人  每一句话

第一种;绑定this;

//处理this.state为undefind的问题!

componentDidMount(){

setInterval(function(){

letvalue1=this.state.value+10;

if(value1>100){return false}

this.setState({

value:value1

})

}.bind(this),100)

}

第二种:使用箭头函数;

componentDidMount(){

setInterval(()=>{

/* “箭头函数”;是一个简写的函数表达式;拥用有词法作用域的this;此外,箭头函数总是匿名的。

(词法作用域就是一个变量的作用在定义的时候就已经被定义好了;当在本作用域中找不到变量;就会

一直想父作用域中查找,直到找到为止;

箭头函数的this继承外围的作用域;

* */

letvalue1=this.state.value+10;

if(value1>100){return false}

this.setState({

value:value1

})

},100)

}

/*

(一)箭头函数的特性;

(1):箭头函数一般为匿名函数;不能使用new,创建实例;没有anguments属性;

(2):没有原型;

(二)箭头函数产生的目的;

与父元素共享关键字this;

* */

上一篇下一篇

猜你喜欢

热点阅读