मैंने इसे हल करने के लिए कुछ तरीकों की कोशिश की, जिसमें 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 />
और निश्चित रूप से पूरी स्क्रीन को स्क्रॉल करने में सक्षम है।