Skip to content
This repository was archived by the owner on Jan 10, 2020. It is now read-only.

Repository files navigation

React-Roll

infinite scroller, record scroll position, like twitter's timeline

🇦🇺English |🇨🇳 简体中文

Features

  • Optimization big list
  • infinite scroll loading
  • Record list scroll state
  • Support different height list items

DEMO

different height items

simple-demo

select city of china

city-select-demo

infinite scroll to load data

infinite-load-demo

record scroll status

record-demo

Install

npm install react-roll

Usage

* Quick use!

import{Provider,Scroller}from'react-scoll'constApp()=>(<Provider><Scrollerelement={ListItem}/></Provider>)

* How to pass data to each list item?

asyncfunctionfetch(page,push){constlist=awaitgetData({page})// list: [{title}]push(list)}constListItem=({title})=><div>{title}</div>// As long as there is onFetch prop, that you can infinite load list data<Provider><Scrollerelement={ListItem}onFetch={fetch}/></Provider>

* Make scrolling more precise

// If the list items have different heights, set an average height!// And If the list items have same heights, set an average height too!<Provider><ScrolleraverageHeight={200}element={ListItem}onFetch={fetch}/></Provider>

* No need to scroll infinitely, just optimize the list

<Providersource={bigList}><ScrolleraverageHeight={50}element={ListItem}></Provider>

* Insert elements other than lists

<Providersource={bigList}><Scroller{/* other elements */}upperRender={()=><Header/>}averageHeight={50}element={ListItem}></Provider>

API

Scroller

prop(extends DIV)descriptiontypedefault
elementlist item componentReact.Element
averageHeightaverage height of list itemNumber350
lengthThe actual number to render, If not set, it will be calculated by the algorithmNumber
onFetchthe method of fetch dataFunction
upperRenderinsert elements other than listsFunction

Provider

propdescriptiontypedefault
sourcedata of list, make scrolling components controlledArray

About

infinite scroller and record scroll position like twitter's timeline.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages