close

要實作列表拉到底時自動讀取新資料,但是遇到很多問題。

列表是使用react native的FlatList元件,一開始讀取資料進來時,就會觸發onEndReached的事件,明明甚麼動作都沒做,傻眼。

 

一開始是查到這個解法:

https://stackoverflow.com/questions/53408470/flatlist-onendreached-being-called-multiple-times

一開始是查到使用onMomentumScrollBegin這個事件,再加上一個flag,再加上setTimeout,去針對當Scrolling開始時flag解鎖,才去呼叫更多資料,並加上setTimeout控制不要一次發太多request。

但onMomentumScrollBegin這個事件好像沒甚麼用,用滑鼠拖曳來拖曳去都沒有觸發....

 

後來找到這個解法:

https://stackoverflow.com/questions/47351592/reactnative-flatlist-onendreached-not-working

In my case the problem was with nativebase <Content>. It was creating problems when <FlatList> was used inside it. Solution :

 

<Content
  style={{flex: 1}}
  contentContainerStyle={{flex: 1}} // important!
>

 

原來是nativebase的<Content>和react native的<FlatList>相衝的問題啊!!

必須在Content tag裏頭加上

style={{flex: 1}}
contentContainerStyle={{flex: 1}} // important!

根本問題才解決

特此紀錄

--

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 dizzy03 的頭像
    dizzy03

    碎碎念

    dizzy03 發表在 痞客邦 留言(0) 人氣()