const { run: tryLoadMore } = useDebounceFn(
() => {
const elem = containerRef.current
if (elem === null) return
const domRect = elem.getBoundingClientRect()
if (domRect === null) return
console.log(domRect.bottom, document.body.clientHeight)
if (domRect.bottom <= document.body.clientHeight) {
console.log('执行加载')
}
},
{ wait: 300 }
)
document.body.clientHeight
是整个文档的高度,文档肯定包含containerRef
元素
这就导致了domRect.bottom
必定是小于document.body.clientHeight
,怎么弄刷新页面都会执行,随便滚动都会执行,因为domRect.bottom
必定是小于document.body.clientHeight
,不知道为什么老师的代码可以做到划到底部触发事件
React18+TS4+Antd5+Next.js13 ,B端+C 端,完整业务
了解课程