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时再调动加载功能即可。

原文地址:https://www.cnblogs.com/bbcfive/p/10776396.html

时间: 2024-08-30 15:43:41

Tips——Flatlist的onEndReached多次触发问题解决的相关文章

IE9浏览器onpropertychange和oninput事件对delete键和剪切不触发问题解决方法

一.问题 对于输入框实时监听,常用oninput事件,低版本的IE浏览器使用onpropertychange事件.但是还有一点瑕疵就是IE9对于输入框的剪切和delete键的操作没有任何反应,这是一件非常悲伤的事情. 二.方法 亮点:keyUp监听delete和剪切,手动触发事件 代码: 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <title>

团队项目第二阶段冲刺第八天

高  扬: 完成任务: 增加了部分关卡. 遇到问题: 在设置速度大小上有一定问题,快慢还有待斟酌. 今日任务: 完善各关卡布局. 程鹏远: 完成任务: 障碍物整体设计,实现一页多次布局: 遇到问题: 问题1 与现有资源冲突 解决1 未解决 今日任务: 蜗牛碰到线后速度方向的调整:(做优化) 董龙洋: 完成任务: 测试版使用说明,碰到障碍物事件触发问题解决, 遇到问题: 障碍物事件触发不完善 今日任务: 美化事件触发. 胡顺利: 完成任务: 背景故事的编写. 遇到问题: 没有遇到大的问题,这是文笔

对Verilog 初学者比较有用的整理(转自它处)

对Verilog 初学者比较有用的整理(转自它处) ******************************************************************************************************************** *作者: Ian11122840    时间: 2010-9-27 09:04                                                                   

FlatList踩坑之onEndReached

最近在做一个RN项目,有使用到FlatList这样一个RN封装的组件去做上拉加载更多功能,在iOS和Android平台上,总结了以下几个遇到的问题及解决方案 1. 进入页面onReached开始就被触发 解决方案: // 伪代码如下 <FlatList ... onEndReachedThreshold={0.5} ... /> 当onEndReachedThreshold设置大于1时,的确进入页面就触发,设置在0-1之间时按正常逻辑走 2. 上啦加载更多onReached被触发两次,造成重复

Unity UI的功能解锁,红点Tips,特效触发的做法思考

首先解锁比较特殊,有明确的行为,80%都是判断角色等级,然后进行按钮灰显或者隐藏的操作. 而特效和Tips没有明确的行为. 主要需要取舍的2点是主动调用还是回调被动调用,被动调用意味着代码会很乱.没有一个统一的入口,但是主动调用需要传Object参数,也很麻烦. 首先我否决了在层级面板绑定的做法,还是传入路径,但是会初始化一下: public abstract class CBWidget : MonoBehaviour { public abstract void Init(object ho

iphone上click事件不触发的问题解决。

//在ID为jsProvince上有这么一个事件: $('body').on('click', '#jsProvince', function(e){ $(this).next('.province-list').removeClass('hide'); }); 但是在iphone上点击就是没反应,无法出发绑定的点击事件. 但是在android上测试是没问题的. 找了半天终于找到了解决办法: 只需要给ID为jsProvince的元素添加一个如下的css样式就好了: #jsProvince{ cu

C# 中串口通信 serialport1.DataReceived 函数无法触发或者出发延时等等问题解决方法

以前这个问题困扰我多天最后查资料一大堆,最后最终攻克了,看到非常多人做C#串口都遇到相同的问题,所以写一篇博文,以便学习交流. 一定要在com实例化的时候设置ReceivedBytesThreshold 属性就能够 SerialPort com = new SerialPort(); com.BaudRate = 19200; com.PortName = "COM1"; com.DataBits = 8; com.Parity = (Parity)0; com.StopBits =

WPF Tips: Listbox SelectionChanged触发前的选项

想在Listbox的SelectionChanged事件触发时对之前的选项进行处理.但是listbox没有previewSelectionChanged事件. 解决办法: 1. Validation 因为要处理的项在TextBox中,所以可以给TextBox添加一个Validation.但是由于TextBox是与Property Binding,而Validation是在binding赋值之前进行操作(调试过程中是这样的流程),所以无法获取textbox中的值.如果没有binding应该是可以.

Linux内存高,触发oom-killer问题解决

最近遇到两起Linux的内存问题,其一是触发了oom-killer导致系统挂 1. 首先确认该系统的版本是32位 ? #uname -a Linux alarm 2.6.9-67.ELsmp #1 SMP Wed Nov 7 13:58:04 EST 2007 i686 i686 i386 2. 我们了解一下32位Linux的内存管理结构 ? # DMA: 0x00000000 -  0x00999999 (0 - 16 MB) # LowMem: 0x01000000 - 0x03799999