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

useInfiniteScroll 在第一次请求还未返回时,快速切换到其他组件,会造成无限循环的请求 #2579

Open
liujf-frontEnd opened this issue Jun 25, 2024 · 4 comments
Labels
help wanted Extra attention is needed

Comments

@liujf-frontEnd
Copy link

image
此处会默认执行一次setTimeout,触发函数scrollMethod,当页面被销毁时,判断条件将永久成立,会一直触发loadMore

@crazylxr crazylxr added the help wanted Extra attention is needed label Jul 11, 2024
Copy link

Hello @liujf-frontEnd. We totally like your proposal/feedback, welcome to send us a Pull Request for it. Please send your Pull Request to proper branch (feature branch for the new feature, master for bugfix and other changes), fill the Pull Request Template here, provide changelog/TypeScript/documentation/test cases if needed and make sure CI passed, we will review it soon. We appreciate your effort in advance and looking forward to your contribution!

你好 @liujf-frontEnd,我们完全同意你的提议/反馈,欢迎直接在此仓库 创建一个 Pull Request 来解决这个问题。请将 Pull Request 发到正确的分支(新特性发到 feature 分支,其他发到 master 分支),务必填写 Pull Request 内的预设模板,提供改动所需相应的 changelog、TypeScript 定义、测试用例、文档等,并确保 CI 通过,我们会尽快进行 Review,提前感谢和期待您的贡献。

giphy

@askwuxue
Copy link
Contributor

image 此处会默认执行一次setTimeout,触发函数scrollMethod,当页面被销毁时,判断条件将永久成立,会一直触发loadMore

第一次请求没有回来,页面销毁,请求不会中断吗?能否提供个在线demo?

@xiaochena
Copy link

确实有、但是很难稳定复现

@liujf-frontEnd
Copy link
Author

image 此处会默认执行一次setTimeout,触发函数scrollMethod,当页面被销毁时,判断条件将永久成立,会一直触发loadMore

第一次请求没有回来,页面销毁,请求不会中断吗?能否提供个在线demo?

image
页面被销毁时,虽然dom元素被销毁,但是如果你传入的直接是一个dom对象,那他将被闭包在useInfiniteScroll方法中,我查了源码,发现target的获取有三种方式,分别为target() target.current 和 target,前两种有效,最后一种在这里不能直接传入,建议可以直接去掉这种传入,保留前两种即可

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

4 participants