
Company News
Socket Named to Rising in Cyber 2026 List of Top Cybersecurity Startups
Socket was named to the Rising in Cyber 2026 list, recognizing 30 private cybersecurity startups selected by CISOs and security executives.
@maisonsmd/react-infinite-scroll
Advanced tools
A React component for a scrollable container that lazily loads items at the top and bottom when scrolled.
npm install @maisonsmd/react-infinite-scroll
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;
| Prop | Type | Description |
|---|---|---|
className | string | Optional classNames for the container. |
styles | CSSProperties | Inline styles for the container. |
children | ReactNode | Scrollable content. |
debounceDelay | number | Debounce interval in ms for top/bottom events. Default 100. |
hasPrevious | boolean | Indicates if there are items to load above. |
hasNext | boolean | Indicates if there are items to load below. |
loaderToast | ReactNode | Toast displayed briefly after loading. |
toastVisibleDuration | number | Duration in ms to show the toast. Default 1000. |
topLoader | (ratio) => ReactNode | Render function for top loader, with ratio being the interection percentage (0..1), good for render a circular progress |
bottomLoader | (ratio) => ReactNode | Render function for bottom loader, with ratio being the interection percentage (0..1) |
endMessage | ReactNode | Element displayed when there are no more items. |
onTopReached | () => void | Callback for when the top is reached. |
onBottomReached | () => void | Callback for when the bottom is reached. |
MIT.
FAQs
React infinite scroll component
We found that @maisonsmd/react-infinite-scroll demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

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.

Company News
Socket was named to the Rising in Cyber 2026 list, recognizing 30 private cybersecurity startups selected by CISOs and security executives.

Research
Socket detected 84 compromised TanStack npm package artifacts modified with suspected CI credential-stealing malware.

Security News
A dispute over fsnotify maintainer access set off supply chain alarms around one of Go’s most widely used filesystem libraries.