首页 > 解决方案 > 反应原生平面列表改变方向

问题描述

我有启用水平选项的平面列表,如页面,它在纵向或横向加载时效果很好。更改模式时,宽度和高度会混乱。我尝试在 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} ....               

标签: react-nativereact-native-flatlist

解决方案


推荐阅读