
Security News
The Hidden Blast Radius of the Axios Compromise
The Axios compromise shows how time-dependent dependency resolution makes exposure harder to detect and contain.
@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 0 open source maintainers 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.

Security News
The Axios compromise shows how time-dependent dependency resolution makes exposure harder to detect and contain.

Research
A supply chain attack on Axios introduced a malicious dependency, plain-crypto-js@4.2.1, published minutes earlier and absent from the project’s GitHub releases.

Research
Malicious versions of the Telnyx Python SDK on PyPI delivered credential-stealing malware via a multi-stage supply chain attack.