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 />
もちろん画面全体をスクロールすることもできます。