मैंने इसे हल करने के लिए कुछ तरीकों की कोशिश की, जिसमें ListHeaderComponentया भी शामिल है ListFooterComponent, लेकिन यह सब मेरे लिए फिट नहीं था।
लेआउट जिसे मैं प्राप्त करना चाहता था वह इस तरह है, और मैं एक बार में स्क्रॉल करना चाहता था।
<ScrollView>
<View>I'm the first view</View>
<View>I'm the second view</View>
<MyFlatList />
</ScrollView>
पहले मैं इस मुद्दे और टिप्पणियों के लिए धन्यवाद कहना चाहता हूं , जिसने मुझे विचारों का गुच्छा दिया।
मैं ListHeaderComponentफ़्लैटलिस्ट के ऊपर की जगहों के बारे में सोच रहा था , लेकिन चूंकि मेरी Flatlistदिशा स्तंभ थी, इसलिए मैं जिस हेडर को रखना चाहता था वह बाईं ओर था Flatlist:(
फिर मुझे VirtualizedList-backedबात पर कोशिश करनी थी । मैंने बस सभी घटकों को पैक करने की कोशिश की VirtualizedList, जहां renderItemsसूचकांक देता है और वहां मैं घटकों को सशर्त रूप से पारित कर सकता हूं renderItems।
मैं इसके साथ काम कर सकता था Flatlist, लेकिन मैंने अभी तक कोशिश नहीं की है।
अंत में ऐसा लग रहा है।
<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 />
और निश्चित रूप से पूरी स्क्रीन को स्क्रॉल करने में सक्षम है।