我对接收不超过10项的FlatList有一个问题。
这是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获取正确的数据。
我的renderItem方法是一个很长的堆栈,如果用来检查条目类型以知道要呈现,因为可以有多种类型的项,但是它们的数量非常少(比如10-15个最大的项)。有些项目是水平的FlatLists,但它们中的项目数也是2-4。
每次更改选项卡几次后,就会抛出此VirtualizedList警告,但我的项目正确地显示在正确的编号和顺序中。
我正在使用功能组件和钩子。
尝试过添加maxToRenderPerBatch和initialNumToRender,但是它不起作用。
我不想在renderItem中更改PureComponent,因为我的列表总是有几个条目,所以我试图理解为什么会抛出这个警告。
编辑
这个问题只发生在iOS上。
发布于 2021-10-19 07:17:54
将您的所有子滚动视图添加到FlatList中
<FlatList nestedScrollEnabled={true}/>
https://stackoverflow.com/questions/69625697
复制相似问题