Principle: document.documentElement.scrollTop + document.documentElement.clientHeight = document.documentElement.scrollHeight is rolled to the bottom
// 监听滚动hook export const useOnScroll = (callback: (event: Event) => void) => useEffect(() => { const checkForBottom = (event: Event) => callback(event) window.addEventListener("scroll", checkForBottom) return () => window.removeEventListener("scroll", checkForBottom) }) // 监听滚动触底hook export const useOnScrollBottom = (callback: (event: Event) => void) => { const container = document.documentElement useOnScroll(event => { if ( container.scrollTop + container.clientHeight === container.scrollHeight ) { callback(event) } }) }