/** * useUserFavorites Hook 使用示例 * * 这个示例展示了如何使用 useUserFavorites Hook 来获取用户的收藏列表 */ import { useUserFavorites } from '@/hooks' // 示例1:基本用法 function MyFavoritesList() { const { favorites, loading, error, execute, refetch, loadMore, hasMore, } = useUserFavorites() useEffect(() => { // 初始加载 execute() }, []) if (loading && !favorites.length) { return } if (error) { return } return ( ( )} onEndReached={() => { if (hasMore && !loading) { loadMore() } }} onEndReachedThreshold={0.5} ListFooterComponent={() => loading ? : null} /> ) } // 示例2:带自定义参数 function MyFavoritesWithParams() { const { favorites, loading } = useUserFavorites({ limit: 50, // 每页50条 }) // ... } // 示例3:带搜索功能 function SearchableFavorites() { const [searchQuery, setSearchQuery] = useState('') const { favorites, execute, loading } = useUserFavorites() const handleSearch = (query: string) => { setSearchQuery(query) execute({ search: query }) } // ... } // 示例4:下拉刷新 function RefreshableFavorites() { const { favorites, loading, refreshing, refetch } = useUserFavorites() const handleRefresh = () => { refetch() } return ( ) } // 示例5:使用返回的完整数据 function FavoritesWithStats() { const { data, favorites } = useUserFavorites() return ( Total Favorites: {data?.total || 0} Current Page: {data?.page || 1} Per Page: {data?.limit || 20} {/* 列表... */} ) } export type { UserFavoriteItem } from '@/hooks'