đặt cái props này ở trong scrollview ( view bao ngoài cùng ) hoặc trong flatlist
refreshControl={
<RefreshControl
refreshing={this.state.refreshing}
onRefresh={this._onRefresh.bind(this)}
/>
}
like this:
<FlatList
data={dataPost}
extraData={this.props}
refreshControl={
<RefreshControl
refreshing={this.state.refreshing}
onRefresh={() => this._onRefresh()}
/>}
keyExtractor={item => item.id}
renderItem={({ item, index }) => (
<ItemList
item={item}
indexCard={index}
onRemoveCard={item => this.onRemoveCard(item)} />
)}
/>
async _onRefresh() {
this.setState({ refreshing: true })
await this.props.getPosts()
this.setState({ refreshing: false })
}
if we have loadmore, we need change to:
_onRefresh() {
this.setState({
page: this.state.page + 1,
refreshing: true
}, () => {
this.props.getPosts(this.state.page)
this.setState({ refreshing: false })
});
}
constructor(props) {
super(props);
this.state = {
refreshing: false
};
}