W3cubDocs

/React Native

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?: 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.
https://facebook.github.io/react-native/docs/refreshcontrol.html