Tôi đã thử một số cách để giải quyết vấn đề này, bao gồm ListHeaderComponenthoặc ListFooterComponent, nhưng tất cả đều không phù hợp với tôi.
bố cục tôi muốn đạt được là như thế này và tôi muốn được cuộn vào một lần.
<ScrollView>
<View>I'm the first view</View>
<View>I'm the second view</View>
<MyFlatList />
</ScrollView>
Trước tiên tôi muốn nói lời cảm ơn tới này vấn đề và ý kiến, trong đó đã cho tôi bó ý tưởng.
Tôi đã nghĩ về các ListHeaderComponentvị trí phía trên Danh sách phẳng, nhưng vì hướng của tôi Flatlistlà cột, tiêu đề tôi muốn đặt ở bên trái của Flatlist:(
Sau đó, tôi đã phải cố gắng vào VirtualizedList-backedđiều. Tôi chỉ cố gắng đóng gói tất cả các thành phần VirtualizedList, trong đó renderItemsđưa ra chỉ mục và ở đó tôi có thể chuyển các thành phần một cách có điều kiện renderItems.
Tôi có thể đã làm việc này với Flatlist, nhưng tôi chưa thử.
Cuối cùng nó trông như thế này.
<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 />
và tất nhiên có thể cuộn toàn bộ màn hình.