根據反應原住民的ListView documentation,一個ListView數據源應,以便確定以下標準執行rowHasChanged的聲明時給定的行發生了變化:React Native ListView的'rowHasChanged'的目的是什麼?
var ds = new ListView.DataSource({rowHasChanged: (r1, r2) => r1 !== r2});
這裏我的問題是:什麼是必須提供背後的想法這樣一個顯而易見的檢測行是否已經改變的實現?有沒有這種實現不成立的情況?我會想象,ListViewDataSource至少會爲這樣一個簡單的函數提供一個默認實現,而不是每次創建數據源時都必須複製和粘貼這些代碼。
比較ID是不是所有不是比較對象更有效,事實上它可能效率較低(在Javascript中主要檢查對象比較,如果內存地址是相同的)。他們提供的佔位符實現可能是高效的,因此我不確定這裏的目的是否有效。 – Tarek
在我看來@ rmevans9的解釋是正確的https://github.com/facebook/react-native/issues/4104 –