Forum
Forum copied to clipboard
"新帖"列表懒加载bug
"新帖"页主题列表存在bug。
环境
- MacOS 10.15.5
- Chrome 83.0.4103.116 64bit
复现步骤
- 新建标签页A,打开
/newTopics
,用于复现bug - 新建标签页B,打开
/newTopics
,用于同步”新帖“内容 - 每隔1分钟刷新标签页B,直到出现n个新帖
- 激活标签页A,快速滚动列表至底部数次(约10次)
- 此时Spinner"正在加载"将持续显示于视口,无网络请求发出
- 缓慢上下滚动列表数次,发现每次滚动都会触发1次Util
getAllNewTopic
调用及其衍生请求,但列表内容无更新 - 改变n的值,或每隔数分钟令标签页A加载一次新帖,再滚动至底部,将触发更多神奇现象。最差的情况会出现列表无限循环加载
可能的问题源
这个if Guard完全没有考虑现实中newTopic会更新的情况。一旦在加载完所有新帖前,后端收到1个新帖,getAllNewTopic
就迟早会拿回来重复的主题内容,this.state.from
就永远不可能达到预想的上限值。
可能的解决方案
getAllNewTopic
此Util的from参数类型修改为主题帖id