Infinitely load content using a React Component. This fork maintains a simple, lightweight infinite scroll package that supports both window
and scrollable elements.
Installation
npm i react-infinite-scroll-fixed
How to use
import InfiniteScroll from 'react-infinite-scroll-fixed'
Window scroll events
<InfiniteScroll
pageStart={0}
loadMore={loadFunc}
hasMore={true || false}
loader={<div className="loader">Loading ...</div>}>
{items} // <-- This is the content you want to load
</InfiniteScroll>
DOM scroll events
<div style="height:700px;overflow:auto;">
<InfiniteScroll
pageStart={0}
loadMore={loadFunc}
hasMore={true || false}
loader={<div className="loader">Loading ...</div>}
useWindow={false}>
{items}
</InfiniteScroll>
</div>
Props
Name | Type | Default | Description |
---|---|---|---|
element |
String |
'div' |
Name of the element that the component should render as. |
hasMore |
Boolean |
false |
Whether there are more items to be loaded. Event listeners are removed if false . |
initialLoad |
Boolean |
true |
Whether the component should load the first set of items. |
loadMore |
Function |
A callback when more items are requested by the user. | |
pageStart |
Object |
0 |
The number of the first page to load, With the default of 0 , the first page is 1 . |
threshold |
Boolean |
250 |
The distance in pixels before the end of the items that will trigger a call to loadMore . |
useWindow |
Boolean |
true |
Add scroll listeners to the window, if not, to the component's parentNode or scrollParent . |
scrollParent |
Element |
null |
Add scroll listeners to the some other parent element other than immediate parent node when useWindow is set to false . |