RefreshControl
RefreshControl
This component is used inside a ScrollView or ListView to add pull to refresh functionality. When the ScrollView is at scrollY: 0
, swiping down triggers an onRefresh
event.
Usage example
class RefreshableList extends Component { constructor(props) { super(props); this.state = { refreshing: false, }; } _onRefresh() { this.setState({refreshing: true}); fetchData().then(() => { this.setState({refreshing: false}); }); } render() { return ( <ListView refreshControl={ <RefreshControl refreshing={this.state.refreshing} onRefresh={this._onRefresh.bind(this)} /> } ... > ... </ListView> ); } ... }
Note: refreshing
is a controlled prop, this is why it needs to be set to true in the onRefresh
function otherwise the refresh indicator will stop immediately.
Props
ViewPropTypes props...
onRefresh?: PropTypes.func
Called when the view starts refreshing.
refreshing?: PropTypes.bool.isRequired
Whether the view should be indicating an active refresh.
androidcolors?: PropTypes.arrayOf(ColorPropType)
The colors (at least one) that will be used to draw the refresh indicator.
androidenabled?: PropTypes.bool
Whether the pull to refresh functionality is enabled.
androidprogressBackgroundColor?: color
The background color of the refresh indicator.
androidprogressViewOffset?: PropTypes.number
Progress view top offset
androidsize?: PropTypes.oneOf([RefreshLayoutConsts.SIZE.DEFAULT, RefreshLayoutConsts.SIZE.LARGE])
Size of the refresh indicator, see RefreshControl.SIZE.
iostintColor?: color
The color of the refresh indicator.
iostitle?: PropTypes.string
The title displayed under the refresh indicator.
iostitleColor?: color
Title color.
© 2015–2017 Facebook Inc.
Licensed under the Creative Commons Attribution 4.0 International Public License.
https://facebook.github.io/react-native/docs/refreshcontrol.html