IntersectionObserver實現(xiàn)加載更多組件demo
更新時間:2023年07月12日 09:17:06 作者:Best_白水
這篇文章主要為大家介紹了IntersectionObserver實現(xiàn)加載更多組件demo,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
實例
import { useEffect, useRef } from 'react';
import { Spin } from 'antd';
import type { FsFC } from './types';
import './index.less';
type LoadMoreProps = {
root?: Element | null; // 跟哪個元素重疊不傳默認則是 整個瀏覽器窗口,一般是父元素
isLoading: boolean; // 用來判斷如果 沒有在請求列表才回執(zhí)行
more: () => void;
};
const LoadMore: FsFC<LoadMoreProps> = ({ root = null, isLoading, more }) => {
const loadMoreRef = useRef(null);
/** 建立加載更多觀察者 */
const loadMoreOb = () => {
if (!loadMoreRef.current) {
return;
}
const ob = new IntersectionObserver(
(entries) => {
const [entry] = entries;
// 有重疊,并且沒有在請求
if (entry.isIntersecting && !isLoading) {
more();
}
},
{
root,
threshold: 1,
},
);
ob.observe(loadMoreRef.current);
};
useEffect(() => {
loadMoreOb();
}, []);
return (
<div className="load-more" ref={loadMoreRef}>
<Spin />
</div>
);
};
export default LoadMore;文中注釋已對代碼進行詳解說明,以上就是IntersectionObserver實現(xiàn)加載更多組件demo的詳細內(nèi)容,更多關(guān)于IntersectionObserver加載組件的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
react中history(push,go,replace)切換路由方法的區(qū)別及說明
這篇文章主要介紹了react中history(push,go,replace)切換路由方法的區(qū)別及說明,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-10-10
react中的useImperativeHandle()和forwardRef()用法
這篇文章主要介紹了react中的useImperativeHandle()和forwardRef()用法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-08-08
詳解react native頁面間傳遞數(shù)據(jù)的幾種方式
這篇文章主要介紹了詳解react native頁面間傳遞數(shù)據(jù)的幾種方式,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-11-11
react native實現(xiàn)往服務(wù)器上傳網(wǎng)絡(luò)圖片的實例
下面小編就為大家?guī)硪黄猺eact native實現(xiàn)往服務(wù)器上傳網(wǎng)絡(luò)圖片的實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-08-08

