【发布时间】:2019-11-15 17:28:23
【问题描述】:
预期行为:页面到达结束时,应调用 handleLoadMore 函数。但它没有被调用。 [使用功能组件]。
我尝试过以下方式。但没有找到任何解决方案。
使用FlatGrid 组件(基于 FlatList 的库)。 也直接使用了 FlatList。问题依然存在。
<FlatGrid
itemDimension={130}
items={offers}
renderItem={renderItem}
ListFooterComponent={renderFooter}
initialNumToRender={2}
maxToRenderPerBatch={1}
windowSize={2}
onEndReached={handleLoadMore}
onEndReachedThreshold={0}
/>
HandleLoadMore 函数 -
const handleLoadMore = () => {
setPageNumber(pageNumber + 1);
console.log('PageNumber', pageNumber);
console.log('Item Length', offers.length);
offersAction.getOffers(pageNumber);
};
控制台输出 -
【问题讨论】:
-
你能发布组件的完整代码吗?也许 setPageNumber 有什么问题
-
我用示例 console.log('Hello') 完全替换了代码。它仍然无法正常工作。问题是到达列表末尾后没有调用“handleLoadMore”函数。 @WojciechDynus
-
完美处理所有数据加载。我想问题不在于“FlatGrid”。用 FlaitList 替换了 FlatGrid... 仍然得到相同的行为。 @TreyCopeland
-
从您的输出看来它工作正常,有什么问题?
标签: javascript reactjs react-native react-native-flatlist