第一種;綁定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;
* */