Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ListView onEndReached Bug #452

Closed
MozzieCN opened this issue Oct 28, 2016 · 10 comments
Closed

ListView onEndReached Bug #452

MozzieCN opened this issue Oct 28, 2016 · 10 comments
Assignees

Comments

@MozzieCN
Copy link

本地环境

  • antd-mobile 版本:0.9.x
  • 操作系统及其版本: win7
  • 浏览器及其版本: ##Chrome 49.0.2623.110 m

你做了什么?

引入 ListView ,并开启 onEndReached功能,每次从服务端获取小于12条数据 。
返回的数据渲染能占满整个屏幕。

你期待的结果是:

当页面拉下最底下时,才触发 onEndReached事件

实际上的结果:

首次渲染后,如果 dataSource中的数据少于 12 条,会循环触发 onEndReached事件(此时不管scoll是否在最底部)。 直到 dataSource中的数据 >=12条才停止。

后续onEndReched时,不论服务端 返回多少数据,都正常。

如果在循环onEndReached过程中,只要scoll一下.循环onEndReached也会停止。

关键参数配置如下:
scrollRenderAheadDistance={500}
onEndReachedThreshold={1}
scrollEventThrottle={10}
onScroll={() => { console.log('scroll'); }}
onEndReached={this._onEndReached}

可重现的在线演示

通过多次日志 调试,100%可重现。

@leilihuang
Copy link

@MozzieCN 我出现了和你一样的问题,请问你解决了吗?

@guangming21
Copy link

@leilihuang @MozzieCN 请问你们解决了吗,全是bug,

@guangming21
Copy link

@leilihuang 怎么做的

@leilihuang
Copy link

@guangming21 没有,我的加载更多一直都有问题

@guangming21
Copy link

@leilihuang 我不用ListView了,我都换List做了,这个onEndReached,我在里面做判断倒是不无限加载了,但是每次触发渲染的行数却不确定,我设置10行,但是log打印有时是30行,这样里面的数据就重复渲染了

@leilihuang
Copy link

@guangming21 我没弄过,我去看看

@silentcloud silentcloud reopened this Nov 2, 2016
@silentcloud
Copy link
Contributor

silentcloud commented Nov 2, 2016

@guangming21 要不你贴一下你的关键代码, @warmhug 看看?

@warmhug
Copy link
Contributor

warmhug commented Nov 10, 2016

没响应,先关掉

@leonardgithub
Copy link

leonardgithub commented Jul 16, 2017

Antd-mobile 0.9.6的ListView初始化分页数据的时候,也是第一次就调了多次onEndReached,导致发送了三次请求,第1页的请求一次,第2页的请求有两次,其中加上了setState({isRefreshing: true})和setState({isRefreshing: false})的控制,否则onEndReached调用更多次。
貌似升级到1.4.x,问题依旧。
期望:onEndReached只调用1次
另,想问一个问题很久了,antd-mobile的维护者是不是很急着关闭issue?

@warmhug
Copy link
Contributor

warmhug commented Jul 17, 2017

Trace #520 (comment)

@ant-design ant-design locked and limited conversation to collaborators Sep 12, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants