GithubHelp home page GithubHelp logo

myseven / react-native-listview-refresher Goto Github PK

View Code? Open in Web Editor NEW
5.0 3.0 0.0 152 KB

A simple react-native component that can pull down to refresh and pull up to load more list view

JavaScript 100.00%

react-native-listview-refresher's Introduction

react-native-listView-refresher

A pull down to refresh and pull up to load more list view.

Important: Thanks Farid Safi 's Library react-native-gifted-listview. Because it changed to RefreshControl when update to version 0.0.3, so I changed the source code for appply my use condition.

Be Careful, this library is Only for iOS platform

ScreenShot:

pull down image

pull up image

At First

  • This library is simple to use, but without more custom config refresh header and load more footer, this will be changed after update.
  • The header or footer is part of list view Header or footer,you can alse add custom header or footer view to the list view.
  • The library is cached list view datasource, we don't need care about the page number and merge every page datasource.
  • We can use onFetching function to fetch data and notify the library finish load then pass to the request page data.

Usage

You can using npm to install component:

npm i react-native-listview-refresher

Simple usage:

import List from 'react-native-listview-refresher';

class demoClass extends Component {
  render() {
    return (
      <View style={styles.container}>
        <List
          ref='listView'
          renderRow={this.renderRow}
          onFetching={this.fetch}
          pullDownRefreshable={true}
          pullUpRefreshable={true}
        />
      </View>
    );
  }
  
  fetch = (page = 1, callback, options)=> {
    setTimeout(() => {
        callback(['1','2','3','4','5','6'],{allLoaded: false});
      }, 1000);
  }

  renderRow = (data,sectionID,rowID) => {
    return <Cell key={rowID} rowID={rowID}/>
  }
}

class Cell extends Component {
  render() {
    return(
      <View style={{height: 100, width: 300}}>
        <Text>index {this.props.rowID}</Text>
      </View>
    )
  }
}

Props

You can use this like list view component, any props will be pass to inner list view.

name description default
pullDownRefreshable can be pull down to refresh false
pullUpRefreshable can be pull up to load more false
renderRow same as list view property null
onFetching loading data, prototype: (page:number, callback:(data , {allLoaded: false})=>void, options:object) =>void allLoaded means whether have more data in the list null
* other list view property null

##Changelog

  • v1.0.0
    • initialize project

react-native-listview-refresher's People

Contributors

myseven avatar

Stargazers

Elrond avatar zhangguotao avatar changfuguo avatar DavinZeng avatar weijun avatar

Watchers

James Cloos avatar  avatar 张博 avatar

react-native-listview-refresher's Issues

Can support android

Hello,my englinsh is not good. I'm learning RN. So,can you support android,ths.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.