VirtualizedList:你有一个大的列表,更新速度很慢- React Native FlatList



我有一个问题,FlatList接收不超过10个项目。

这是FlatList的代码:
<FlatList
style={styles.flatList}
onScroll={(event) => toggleHeader(event.nativeEvent.contentOffset.y > headerHeight)}
contentContainerStyle={{ paddingBottom: getContentContainerStyle() }}
showsVerticalScrollIndicator={false}
onRefresh={makeRequest}
refreshing={isRefreshing}
data={data}
renderItem={renderItem}
keyExtractor={item => item?.id?.toString()}
/>

应用程序中的流程如下:

应用程序正在使用选项卡栏导航,并且使用单个组件为每个选项卡发出带有特定id的请求,以从DB获取正确的数据。

我的<<p> strong> renderItem 方法是的长堆栈,如果else检查道具类型以了解要渲染的内容,因为可以有多种类型的道具,但它们的数量非常少(最多10-15个)。有些项目水平平面列表但其中的项目数量也有2-4个。

在几次更改选项卡之后,抛出这个VirtualizedList警告,但是我的项目以正确的数量和顺序正确显示。

我正在使用功能组件和钩子。

尝试添加maxToRenderPerBatchinitialNumToRender,但不工作。

我不想改变renderItem因为我的列表总是有一些项目,所以我试图理解为什么它抛出这个警告。

编辑

这个问题只发生在iOS上。

添加所有子元素Scrollview在你的例子中FlatList:

<FlatList nestedScrollEnabled={true}/>

最新更新