Tips——Flatlist的onEndReached多次触发问题解决

Posted bbcfive

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Tips——Flatlist的onEndReached多次触发问题解决相关的知识,希望对你有一定的参考价值。

一、问题

RN项目里使用Flatlist组件,上拉刷新item过多时,出现跳屏、闪屏、空白屏等问题。

二、原因

先在render函数里log了一下,发现没有re-render,判断不是网络请求或页面内组件数据变动导致的重复渲染;

然后判断是Flatlist自己的触底监听机制有问题;

最后查到是因为外层父View没有设置固定height或只设置{flex:1}属性,导致onEndReached不能正确监听事件。

三、解决

1.给外层父组件一个固定高度{height:‘100%’};

2.设置onEndReachedThreshold={0.01},确保滑动到距离底部最后0.01时再调动加载功能即可。

以上是关于Tips——Flatlist的onEndReached多次触发问题解决的主要内容,如果未能解决你的问题,请参考以下文章

Flatlist onEndReached 无限循环

React-Native 使用 Flatlist 滚动到顶部

React-Native:在ios中传递空数组时,Flatlist和Sectionlist引发异常

FlatList里面的FlatList滚动问题

React Native FlatList 嵌套在具有相同方向的 FlatList 中

FlatList:ListRenderItemInfo<> 的属性是啥?