Function useVirtualizer

  • Virtualizes rendering of large lists.

    Parameters

    Returns Virtualizer

    An object which identity never changes between renders.

    const containerRef = useRef(null);
    const pageRef = useRef(null);
    const itemsRef = useRef(null);

    const virtualizer = useVirtualizer({
    startIndex: 0,
    endIndex: Number.MAX_SAFE_INTEGER,
    containerRef,

    onScroll(info) {
    pageRef.current.style.height = info.pageSize + 'px';
    itemsRef.current.style.transform = `translateY(${info.itemsPosition}px)`;
    },
    });

    <div
    ref={containerRef}
    style={{ height: 300, overflow: 'auto' }}
    >
    <div ref={pageRef}>
    <div ref={itemsRef}>
    {virtualizer.items.map(item => (
    <div
    key={item.index}
    ref={item.ref}
    >
    {'Hello'}
    </div>
    ))}
    </div>
    </div>
    </div>