A pull down to refresh control for react native.
- Run
npm install react-refresh-control --savein your project directory. - Drag
RCTRefreshControl.xcodeprojto your project on Xcode. - Click on your main project file (the one that represents the .xcodeproj) select Build Phases and drag
libRCTRefreshControl.afrom the Products folder inside theRCTRefreshControl.xcodeproj. - Add
var RCTRefreshControl = require('RCTRefreshControl');to your code.
'use strict';varReact=require('react-native');varTimerMixin=require('react-timer-mixin');varRCTRefreshControl=require('RCTRefreshControl');var{
AppRegistry,
ListView,
ScrollView,
StyleSheet,
Text,
View,}=React;varSCROLLVIEW='ScrollView';varLISTVIEW='ListView';varRCTRefreshControlDemo=React.createClass({mixins: [TimerMixin],getInitialState: function(){vards=newListView.DataSource({rowHasChanged: (r1,r2)=>r1!==r2});return{dataSource: ds.cloneWithRows(['#484848','#2F9C0A','#05A5D1']),};},componentDidMount: function(){// ScrollViewRCTRefreshControl.configure({node: this.refs[SCROLLVIEW],tintColor: '#05A5D1',activityIndicatorViewColor: '#05A5D1'},()=>{this.setTimeout(()=>{RCTRefreshControl.endRefreshing(this.refs[SCROLLVIEW]);},2000);});// ListViewRCTRefreshControl.configure({node: this.refs[LISTVIEW]},()=>{this.setTimeout(()=>{RCTRefreshControl.endRefreshing(this.refs[LISTVIEW]);},2000);});},render: function(){return(<Viewstyle={styles.container}><ScrollViewref={SCROLLVIEW}style={styles.scrollView}><Viewstyle={{backgroundColor: '#05A5D1',height: 200}}/><Viewstyle={{backgroundColor: '#FDF3E7',height: 200}}/><Viewstyle={{backgroundColor: '#484848',height: 200}}/></ScrollView><ListViewref={LISTVIEW}style={styles.listView}dataSource={this.state.dataSource}renderRow={(rowData)=>{varcolor=rowData;return(<Viewstyle={{backgroundColor: color,height: 200}}/>);}}/></View>);}});varstyles=StyleSheet.create({container: {flex: 1,flexDirection: 'row'}});AppRegistry.registerComponent('RCTRefreshControlDemo',()=>RCTRefreshControlDemo);Available under the MIT license. See the LICENSE file for more informatiion.
