Tips——Flatlist的onEndReached多次觸發問題解決


一、問題

RN項目里使用Flatlist組件,上拉刷新item過多時,出現跳屏、閃屏、空白屏等問題。

二、原因

先在render函數里log了一下,發現沒有re-render,判斷不是網絡請求或頁面內組件數據變動導致的重復渲染;

然后判斷是Flatlist自己的觸底監聽機制有問題;

最后查到是因為外層父View沒有設置固定height或只設置{flex:1}屬性,導致onEndReached不能正確監聽事件。

三、解決

1.給外層父組件一個固定高度{height:‘100%’};

2.設置onEndReachedThreshold={0.01},確保滑動到距離底部最后0.01時再調動加載功能即可。

 

補充:

發現scrollview組件出現在部分機型上滑動無效(例如華為p20)的問題時,采用上述方法能夠解決問題。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM