問題 在寫flatlist復用組件時,調用的時候如果父組件是不定高的組件,會造成組件無法顯示 如果父組件樣式{flex:1},則會出現下拉方法頻繁觸發或不正常觸發的問題(我這裡出現的問題是在列表第6個項目在底部時,緩慢上拉會多次觸發flatlist的onEndReached監聽) 原因 推測是因為{ ...
問題
在寫flatlist復用組件時,調用的時候如果父組件是不定高的組件,會造成組件無法顯示
如果父組件樣式{flex:1},則會出現下拉方法頻繁觸發或不正常觸發的問題(我這裡出現的問題是在列表第6個項目在底部時,緩慢上拉會多次觸發flatlist的onEndReached監聽)
原因
推測是因為{flex:1}不適合做動態高度組件的父組件樣式,會錯誤的判斷高度導致onEndReached多次不正常觸發。
解決
可以把列表上方所需的組件做成header屬性傳入組件當做flatlist的頭部組件,這樣就可以直接調用封裝好的組件。
也可以把父元素的樣式設成{height: '100%'},這樣就可以正確的觸發onEndReached監聽。