SuperAPI AI 工具集

native-data-fetching

数据与分析

查看项目

更新于 10-16 09:33

技能介绍

用途:在实现或调试任何网络请求、API 调用、数据获取时使用,适用于 Expo/React Native 的网络相关工作,包括请求、数据获取、缓存与网络调试。

主要能力:涵盖基本 fetch(GET/POST、错误检查)、React Query(TanStack Query,含 QueryClient 配置、useQuery、useMutation、invalidateQueries)、错误处理与重试(ApiError、指数退避)、鉴权(expo-secure-store 存取令牌、令牌刷新)、离线支持(NetInfo、onlineManager 同步)、环境变量(EXPO_PUBLIC_ 前缀、多环境 .env)、请求取消(AbortController)。偏好避免 axios,优先 expo/fetch。另提供 references/expo-router-loaders.md,用于 Expo Router 路由级数据加载(Web,SDK 55+)。

使用方式:根据决策树选择方案——基础请求用 fetch 并加错误处理;需缓存/状态管理时复杂应用用 React Query,简单需求用 SWR 或自定义 hooks;鉴权用 SecureStore 并实现刷新流;离线用 NetInfo 检测配合 React Query 持久化;环境/API 配置用 EXPO_PUBLIC_ 前缀变量,服务端密钥用非前缀变量(仅 API 路由);性能用 staleTime 缓存、去重与取消。

限制与注意:仅 EXPO_PUBLIC_ 前缀变量会暴露到客户端打包,切勿在其中的放置密钥(写权限 API key、数据库密码);环境变量在构建时内联而非运行时,修改 .env 后需重启开发服务器;不要用 AsyncStorage 存敏感令牌。Expo Router 路由级 loaders 仅限 Web 且需 SDK 55+,原生端仍用 React Query 或 fetch。该技能涉及的具体安装命令、版本兼容细节及更多平台限制,资料未提供。