New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

@maisonsmd/react-infinite-scroll

Package Overview
Dependencies
Maintainers
0
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@maisonsmd/react-infinite-scroll

React infinite scroll component

latest
Source
npmnpm
Version
0.1.1
Version published
Maintainers
0
Created
Source

InfiniteScroll

A React component for a scrollable container that lazily loads items at the top and bottom when scrolled.

Installation

npm install @maisonsmd/react-infinite-scroll

Basic Usage

See the full example on CodeSandbox.

import { useState } from 'react';
import { InfiniteScroll } from '@maisonsmd/react-infinite-scroll';

function App() {
  const [items, setItems] = useState<any[]>([/* initial data */]);

  const hasNext = /* boolean indicating more data at bottom */;
  const hasPrevious = /* boolean indicating more data at top */;

  function loadNext() {
    /* fetch or generate items for bottom */
  }

  function loadPrevious() {
    /* fetch or generate items for top */
  }

  return (
    <InfiniteScroll
      hasNext={hasNext}
      hasPrevious={hasPrevious}
      onBottomReached={loadNext}
      onTopReached={loadPrevious}
      loaderToast={<div className="toast">Loading...</div>}
      topLoader={(ratio) => <div style={{ opacity: ratio }}>Loading Top...</div>}
      bottomLoader={(ratio) => <div style={{ opacity: ratio }}>Loading Bottom...</div>}
    >
      {items.map((item, index) => (
        <div key={item.id ?? index}>
          {/* item display */}
        </div>
      ))}
    </InfiniteScroll>
  );
}

export default App;

Props

PropTypeDescription
classNamestringOptional classNames for the container.
stylesCSSPropertiesInline styles for the container.
childrenReactNodeScrollable content.
debounceDelaynumberDebounce interval in ms for top/bottom events. Default 100.
hasPreviousbooleanIndicates if there are items to load above.
hasNextbooleanIndicates if there are items to load below.
loaderToastReactNodeToast displayed briefly after loading.
toastVisibleDurationnumberDuration in ms to show the toast. Default 1000.
topLoader(ratio) => ReactNodeRender function for top loader, with ratio being the interection percentage (0..1), good for render a circular progress
bottomLoader(ratio) => ReactNodeRender function for bottom loader, with ratio being the interection percentage (0..1)
endMessageReactNodeElement displayed when there are no more items.
onTopReached() => voidCallback for when the top is reached.
onBottomReached() => voidCallback for when the bottom is reached.

License

MIT.

Keywords

react

FAQs

Package last updated on 19 Mar 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts