Question
在写flatlist上拉下拉或者组件时,经常会遇到onEndReached 和 onRefresh 频繁调用触发的问题,会出现进入页面,还没有下拉刷新,页面就自动下拉刷新的情况。
Reason
由于没有设定flatlist组件高度,所以会导致flatlist组件刚开始要进行动态计算高度,会错误判断高度导致onEndReached 和 onRefresh多次不正常触发。
Solution
将flatlist父元素的样式设成固定值,例如{height: '100%'}或固定高度,这样就不需要动态计算高度,就可以正确触发onEndReached 和 onRefresh的监听了。
网友评论