What problem does it solve? Building reliable networking in Expo and React Native apps involves many pitfalls: unhandled fetch errors, insecure token storage, missing retry logic, offline failures, and misconfigured environment variables. This Skill provides proven patterns for every stage of mobile and web data fetching so you avoid these common mistakes. ## Core Features & Use Cases - Fetch & Error Handling: Typed API errors, exponential backoff retries, and AbortController-based request cancellation. - State Management: React Query (TanStack Query) setup for caching, mutations, and query invalidation, with guidance on when SWR is sufficient. - Auth & Security: Token storage with expo-secure-store, authenticated fetch wrappers, and token refresh flows. - Offline & Configuration: NetInfo-based connectivity detection, React Query offline sync, and EXPO_PUBLIC_ environment variable configuration for dev/prod API URLs. - Expo Router Loaders: Route-level data loading with useLoaderData for web on SDK 55+, including SSR, static generation, and server-side secrets. - Use Case: You are building a shop app that must load product data on web and native, handle expired auth tokens, and keep working when the user loses connectivity—this Skill walks you through each piece. ## Quick Start Use the native-data-fetching skill to set up a React Query client with an authenticated fetch wrapper and offline support in my Expo app.