推荐一款高效刷新组件:React Native Refresh List View
在React Native中,你可以使用react-native-gesture-handler
库中的PullToRefresh
组件来实现下拉刷新功能。以下是一个简单的示例:
首先,安装react-native-gesture-handler
库:
npm install react-native-gesture-handler
然后,根据你的操作系统运行相关的命令来链接原生库:
npx react-native link react-native-gesture-handler
接下来,你可以在你的组件中使用PullToRefresh
组件,如下所示:
import React from 'react';
import { FlatList } from 'react-native';
import { PullToRefresh } from 'react-native-gesture-handler';
export default function MyRefreshList() {
const [refreshing, setRefreshing] = React.useState(false);
const onRefresh = React.useCallback(() => {
setRefreshing(true);
fetchData().then(() => {
setRefreshing(false);
});
}, []);
return (
<PullToRefresh onRefresh={onRefresh} refreshing={refreshing}>
<FlatList
data={yourData}
keyExtractor={(item) => item.id}
renderItem={({ item }) => <YourItemComponent item={item} />}
/>
</PullToRefresh>
);
}
async function fetchData() {
// 模拟数据获取
await new Promise((resolve) => setTimeout(resolve, 1000));
}
在这个例子中,PullToRefresh
组件包裹了FlatList
,并且通过onRefresh
属性指定了下拉刷新时的回调函数。当用户下拉并释放时,onRefresh
函数被调用,你可以在这个函数中实现加载新数据的逻辑。refreshing
状态用于控制刷新指示器的显示。
评论已关闭