2017-08-10 59 views
0

我使用React Native(版本0.46)RefreshControl組件來更新我的ListView。React Native - onRefresh組件觸發使用bind(this)刷新vs定期調用func?

我偶然發現在觸發發生在兩個不同的單證方式的區別:

A)反應本地文件表明,觸發RefreshControl組件當用戶拉動刷新和onRefresh被觸發發生。在他們的榜樣,他們觸發onRefresh這一行
onRefresh={this._onRefresh.bind(this)}

他們使用this._onRefresh.bind(本),如果我不是搞錯了,這是什麼一般是在做(沒有深入到細節),確保我們調用的_onRefresh函數來自全局範圍。

B)我發現這個文件來證明我可以調用觸發,像這樣:

onRefresh={()=>this._refreshListView()}

注:此爲#1的文檔,併爲那些誰反對SOF的文檔,我只是對這些代碼行之間的差異感興趣。

我的問題:兩者有明顯區別嗎? (隨意細緻)。另外,我的理解是什麼綁定正在做正確的給我上面描述的?如果沒有,是否有理由選擇另一種方式?

感謝

回答

0

沒有,可能是在元素的youre。

而且綁定箭頭功能之間的主要區別,即綁定創建一個綁定的功能,調用常規函數綁定在被調用時調用了特定的上下文,而箭頭函數根本沒有自己的上下文,使得它們更輕量一些。但是,這是不可估量的。

More

+0

我檢查使用世博會應用的PERF顯示器,而你是正確的,所不同的是不可測量的。你介意說一下你的意思是什麼,「用一定的背景調用正則函數」是什麼意思? – user3676224

+0

@ user3676224綁定的第一個參數? –

+0

是的,所以函數調用如下:this.o_onRefresh.bind(this)。我不太明白通過「this」引用上下文時會發生什麼。我將不勝感激有關該部分的任何解釋。 – user3676224

相關問題