繁体   English   中英

[React][useInfiniteQuery] 如何限制第一次获取调用仅在视图在视口中可见时发生

[英][React][useInfiniteQuery] How to restrict the first fetch call to happen only when the view is visible in the viewport

我在我的组件中使用 useInfiniteQuery 挂钩无限滚动项目。 我希望第一次提取仅在视图在视口中可见时发生。 我正在使用 useInView/intersection observer 来查找视图在视口中是否可见。

我正在使用 useInView/intersection observer 来查找视图在视口中是否可见,但无法以此为基础限制第一次获取。

我假设您正在谈论来自@tanstack/react-queryuseInfiniteQuery挂钩。 这个钩子实际上继承了useQuery的所有选项,它带有一个enabled属性,它决定了它何时被触发。 假设您有一个 boolean 确定您的IntersectionObserver的 state,您可以这样做:

useInfiniteQuery('data', fetchData, {
    enabled: valueFromIntersectionObserver
});

有关详细信息,请参阅useQuery挂钩的文档

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM