ListView组件中 onEndReached 方法在滚动到距离列表最底部一半时执行
初次使用ListView,在写列表滚动到最底部自动加载使用到方法onEndReached,
发现: ListView组件中 onEndReached 方法在滚动到距离列表最底部一半时执行,
于是翻看文档解释如下:
当所有的数据都已经渲染过,并且列表被滚动到距离最底部不足onEndReachedThreshold个像素的距离时调用。原生的滚动事件会被作为参数传递。译注:当第一次渲染时,如果数据不足一屏(比如初始值是空的),这个事件也会被触发,请自行做标记过滤。
发现onEndReachedThreshold是设置触发方法的临界值
**解决办法: **
onEndReachedThreshold={20}
onEndReached={this.onEndReached.bind(this)}
这里设置了临界值为20, 即距离底部不足20时触发方法onEndReached
react native onEndReached频繁多次调用问题
今天被这个问题搞得头疼,写一个分页加载,但是listview的onEndReached方法老是被频繁调用,知道加载完所有的分页数据才停止。
把 onEndReached={this.loadModeDataMore()}改为onEndReached={()=>this.loadModeDataMore()}就好了,
因为是要把这个方法当做参数传进去,如果不加'()=>'
onEndReached就会把你当成每次都需要执行的一个方法,就会导致频繁调用。
解惑博客
https://www.jianshu.com/p/f25ceaa105ae
https://www.cnblogs.com/wangyuehome/p/7816867.html
-------------------------------------------
个性签名:一个人在年轻的时候浪费自己的才华与天赋是一件非常可惜的事情
如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!
万水千山总是情,打赏5毛买辣条行不行,所以如果你心情还比较高兴,也是可以扫码打赏博主,哈哈哈(っ•̀ω•́)っ✎⁾⁾!
微信
支付宝