Rev 3511 | Rev 3527 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
import React, { useRef, useEffect } from 'react';import { useNearScreen } from '@hooks';import { List, Spinner } from '.';export function InfinityList({items = [],renderItem = () => {},emptyMessage = 'No hay elementos para mostrar',keyExtractor = (item) => item.id,loading = false,onEnd}) {const loaderRef = useRef(null);const [isIntercepting] = useNearScreen({externalRef: loaderRef,once: false,rootMargin: '20px'});useEffect(() => {if (isIntercepting) onEnd();}, [isIntercepting]);return (<><Listitems={items}emptyMessage={emptyMessage}keyExtractor={keyExtractor}renderItem={renderItem}/><div ref={loaderRef}>{loading && <Spinner />}</div></>);}