Ho provato alcuni modi per risolvere questo problema, incluso ListHeaderComponent
o ListFooterComponent
, ma non è stato tutto adatto a me.
il layout che volevo ottenere è così, e volevo far scorrere una volta dentro.
<ScrollView>
<View>I'm the first view</View>
<View>I'm the second view</View>
<MyFlatList />
</ScrollView>
Innanzitutto voglio dire grazie a questo problema e ai commenti, che mi hanno dato un sacco di idee.
Stavo pensando a ListHeaderComponent
posti sopra la Flatlist, ma dal mioFlatlist
direzione era la colonna, l'intestazione che volevo posizionare andava a sinistra delFlatlist
:(
Quindi ho dovuto provare VirtualizedList-backed
. Ho appena provato a inserire tutti i componenti VirtualizedList
, doverenderItems
dà indice e lì ho potuto passare i componenti in modo condizionalerenderItems
.
Avrei potuto lavorare con questo Flatlist
, ma non ci ho ancora provato.
Finalmente sembra così.
<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 />
e ovviamente in grado di scorrere l'intero schermo.