Saya memiliki 3 komponen ListView
di dalam satu komponen ScrollView
seperti ini:
<ScrollView>
<Header />
<ListView onEndReached={() => alert('load more 1')}/>
<ListView onEndReached={() => alert('load more 2')}/>
<ListView onEndReached={() => alert('load more 3')}/>
<Footer />
</ScrollView>
Komponen Header
memiliki beberapa konten umum dan juga memiliki 3 tab, yang memicu menampilkan masing-masing ListView
Masalahnya adalah ListView
dengan onEndReached={() => alert('load more 1')}
tidak pernah menjalankan peringatan, jadi saya tidak akan pernah dapat memuat lebih banyak lagi saat saya menggulir ke bawah dan mencapai akhir tampilan daftar. Hapus pembungkus ScrollView
dan peringatan berjalan, tetapi Header
yang umum tidak bergulir, karena kita baru saja menghapus pembungkus ScrollView
. Header perlu digulir dengan tampilan daftar, itulah sebabnya saya membungkus semua yang perlu digulir di ScrollView
.
CATATAN PENTING: Saya tidak bisa menggunakan ListView
dengan renderHeader={this.header}
, untuk skenario ini. Karena, meskipun Header
akan bergulir, ia akan merender Header
umum dan 3 tab untuk masing-masing ListView
setiap kali ListView
dirender, bukan sekali. Jadi perenderan Header
baru setiap kali untuk setiap ListView
tidak akan memotongnya untuk aplikasi.
Mencari solusi untuk masalah ini, di mana Header
bergulir dengan tampilan daftar dan onEndReached
dipicu untuk ListView
yang terlihat.