我有一个问题,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警告,但是我的项目以正确的数量和顺序正确显示。
我正在使用功能组件和钩子。
尝试添加maxToRenderPerBatch
和initialNumToRender
,但不工作。
我不想改变renderItem因为我的列表总是有一些项目,所以我试图理解为什么它抛出这个警告。
编辑
这个问题只发生在iOS上。
添加所有子元素Scrollview在你的例子中FlatList:
<FlatList nestedScrollEnabled={true}/>