Saya mencoba beberapa cara untuk menyelesaikan ini, termasuk ListHeaderComponentatau 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 ListHeaderComponenttempat di atas Flatlist, tetapi karena Flatlistarah saya adalah kolom, tajuk yang ingin saya tempatkan berada di sebelah kiri Flatlist:(
Kemudian saya harus mencoba VirtualizedList-backedsesuatu. Saya hanya mencoba untuk mengemas semua komponen VirtualizedList, di mana renderItemsmemberikan 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.