close
昨天使用button onPress屬性呼叫function test做別的事
onPress={this.test}
一開始function test是寫成一般呼叫形式,function test(){ ... }
然後function test裏頭用到別的function都會使用this.加上function name,this.otherfunction();
但是一直噴錯,顯示this.otherfunction is undefined..... = ="
搞了一陣子才知道,function test裏頭的this是button物件,不是整個window,所以呼叫otherfunction當然是undefined
function test要改成arrow function寫法,test = () => { ... },裏頭的this才會是整個window
另外一種解法是在button onPress屬性呼叫function時,加上bind(this),把外面的this綁進去
ex: onPress={this.test.bind(this)}
或是寫成arrow function,
onPress={() => this.test()}
可參考之前轉的 [RN][轉] react native組件傳遞參數值給方法
--
--
全站熱搜
留言列表