Saya mencoba beberapa cara untuk menyelesaikan ini, termasuk ListHeaderComponent
atau ListFooterComponent
, tetapi semuanya tidak cocok untuk saya.
tata letak yang ingin saya capai adalah seperti ini, dan saya ingin digulir sekali.
<ScrollView>
<View>I'm the first view</View>
<View>I'm the second view</View>
<MyFlatList />
</ScrollView>
Pertama saya ingin mengucapkan terima kasih atas masalah dan komentar ini, yang memberi saya banyak ide.
Saya memikirkan ListHeaderComponent
tempat di atas Flatlist, tetapi karena Flatlist
arah saya adalah kolom, tajuk yang ingin saya tempatkan berada di sebelah kiri Flatlist
:(
Kemudian saya harus mencoba VirtualizedList-backed
sesuatu. Saya hanya mencoba untuk mengemas semua komponen VirtualizedList
, di mana renderItems
memberikan indeks dan di sana saya dapat melewati komponen bersyarat renderItems
.
Saya bisa bekerja dengan ini Flatlist
, tetapi saya belum mencoba.
Akhirnya terlihat seperti ini.
<View>
<Virtualizedlist
data={[]}
initialNumToRender={1}
renderItem={(props)=>{
props.index===0 ? (1st view here) : props.index===1 ? (2nd view here) : (my flatlist)
}}
keyExtractor={item => item.key}
getItemCount={2}
getItem={ (data, index) => {
return {
id: Math.random().toString(12).substring(0),
}
}}
/>
</View>
(inside which lazyly renders↓)
<View>I'm the first view</View>
<View>I'm the second view</View>
<MyFlatList />
dan tentu saja dapat menggulir seluruh layar.