У меня есть плоский список с включенной горизонтальной опцией, такой как страница, он хорошо работает при портретной или альбомной загрузке. При изменении режима ширина и высота путаются. Я пытаюсь рассчитать ширину и высоту в addEventListener. Есть ли лучшее решение? Может повторно сделать плоский список без потери состояния и реквизита. Это getItemLayoutPot, где определяется макет.
getItemLayout = (data, index) => (
{length: this.state.width, offset: this.state.width * index, index}
)
<FlatList
onViewableItemsChanged={this.onViewableItemsChanged }
viewabilityConfig={{
itemVisiblePercentThreshold: 50
}}
ref={ref => this.flatListRef = ref }
data={dataar}
horizontal={true}
keyExtractor={(item, index) => index.toString()}
extraData={this.state}
showsHorizontalScrollIndicator={false}
removeClippedSubviews={false}
initialNumToRender={20}
maxToRenderPerBatch={10}
updateCellsBatchingPeriod={50}
initialScrollIndex={this.state.numPage}
getItemLayout={this.getItemLayout}
pagingEnabled={true} ....