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) {
    this.state = {
      refreshing: false,

  _onRefresh() {
    this.setState({refreshing: true});
    fetchData().then(() => {
      this.setState({refreshing: false});

  render() {
    return (

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.


ViewPropTypes props...

onRefresh?: function

Called when the view starts refreshing.

refreshing: bool

Whether the view should be indicating an active refresh.

androidcolors?: [color]

The colors (at least one) that will be used to draw the refresh indicator.

androidenabled?: bool

Whether the pull to refresh functionality is enabled.

androidprogressBackgroundColor?: color

The background color of the refresh indicator.

androidprogressViewOffset?: number

Progress view top offset

androidsize?: enum(RefreshLayoutConsts.SIZE.DEFAULT, RefreshLayoutConsts.SIZE.LARGE)

Size of the refresh indicator, see RefreshControl.SIZE.

iostintColor?: color

The color of the refresh indicator.

iostitle?: 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.