Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ganapativs/react-infinite-scroll-fixed
⏬ Infinite scroll component for React in ES6
https://github.com/ganapativs/react-infinite-scroll-fixed
custom-scroll-parent infinite-scroll react react-component scrolling window-scroll
Last synced: about 2 months ago
JSON representation
⏬ Infinite scroll component for React in ES6
- Host: GitHub
- URL: https://github.com/ganapativs/react-infinite-scroll-fixed
- Owner: ganapativs
- License: mit
- Created: 2015-12-27T12:01:40.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2022-12-07T09:45:10.000Z (about 2 years ago)
- Last Synced: 2024-10-28T14:42:25.579Z (2 months ago)
- Topics: custom-scroll-parent, infinite-scroll, react, react-component, scrolling, window-scroll
- Language: JavaScript
- Homepage: https://ganapativs.github.io/react-infinite-scroll-fixed/
- Size: 1.3 MB
- Stars: 1
- Watchers: 2
- Forks: 2
- Open Issues: 36
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
React Infinite Scroll Fixed
===========================[![Travis](https://img.shields.io/travis/ganapativs/react-infinite-scroll-fixed.svg?style=flat-square)](https://travis-ci.org/ganapativs/react-infinite-scroll-fixed)
[![npm](https://img.shields.io/npm/dt/react-infinite-scroll-fixed.svg?style=flat-square)](https://www.npmjs.com/package/react-infinite-scroll-fixed)
[![React Version](https://img.shields.io/badge/React-%5E16.0.0-blue.svg?style=flat-square)](https://www.npmjs.com/package/react)
[![npm](https://img.shields.io/npm/v/react-infinite-scroll-fixed.svg?style=flat-square)](https://www.npmjs.com/package/react-infinite-scroll-fixed)
[![npm](https://img.shields.io/npm/l/react-infinite-scroll-fixed.svg?style=flat-square)](https://github.com/ganapativs/react-infinite-scroll-fixed/blob/master/LICENSE)Infinitely load content using a React Component. This fork maintains a simple, lightweight infinite scroll package that supports both `window` and scrollable elements.
- [Demo](https://ganapativs.github.io/react-infinite-scroll-fixed/demo/)
- [Demo Source](https://github.com/ganapativs/react-infinite-scroll-fixed/blob/master/docs/src/index.js)## Installation
```
npm install react-infinite-scroll-fixed --save
```
```
yarn add react-infinite-scroll-fixed
```## How to use
```js
import InfiniteScroll from 'react-infinite-scroll-fixed';
```### Window scroll events
```js
Loading ...}
>
{items} // <-- This is the content you want to load```
### DOM scroll events
```html
}
Loading ...
useWindow={false}
>
{items}
```
## 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.|
| `isReverse` | `Boolean` | `false` | Whether new items should be loaded when user scrolls to the top of the scrollable area.|
| `loadMore` | `Function` | | A callback when more items are requested by the user. Receives a single parameter specifying the page to load e.g. `function handleLoadMore(page) { /* load more items here */ }` }|
| `loader` | `Component` | | A React component to render while more items are loading.|
| `pageStart` | `Number` | `0` | The number of the first page to load, With the default of `0`, the first page is `1`.|
| `threshold` | `Number` | `250` | The distance in pixels before the end of the items that will trigger a call to `loadMore`.|
| `useCapture` | `Boolean` | `false` | Proxy to the `useCapture` option of the added event listeners.|
| `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`.|