gpt4 book ai didi

javascript - 实现拉取刷新 FlatList

转载 作者:行者123 更新时间:2023-12-03 12:27:56 27 4
gpt4 key购买 nike

请帮助我在我的应用程序上实现拉动刷新,我对 native react 有点新,谢谢。我不知道如何处理 onRefresh 和刷新。

class HomeScreen extends Component {
state = { refreshing: false }

_renderItem = ({ item }) => <ImageGrid item={item} />

_handleRefresh = () => {

};

render() {
const { data } = this.props;
if (data.loading) {
return (
<Root>
<Loading size="large" />
</Root>
)
}
return (
<Root>
<HomeHeader />
<FlatList
contentContainerStyle={{ alignSelf: 'stretch' }}
data={data.getPosts}
keyExtractor={item => item._id}
renderItem={this._renderItem}
numColumns={3}
refreshing={this.state.refreshing}
onRefresh={this._handleRefresh}
/>
</Root>
);
}
}

export default graphql(GET_POSTS_QUERY)(HomeScreen);

最佳答案

设置变量

this.state = { 
isFetching: false,
}
创建刷新函数
onRefresh() {
this.setState({isFetching: true,},() => {this.getApiData();});
}
并在最后一组 onRefresh 和 FlatList 中刷新。
<FlatList
data={ this.state.FlatListItems }
onRefresh={() => this.onRefresh()}
refreshing={this.state.isFetching}
/>
在函数 getApiData 中获取数据后确保设置 false isFetching。
this.setState({ isFetching: false })

关于javascript - 实现拉取刷新 FlatList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47570998/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com