开发与工程 exporeact-nativedata-fetchingreact-queryswroffline-supportapi-authentication

Expo 数据请求指南

为 Expo 应用提供从 API 请求到缓存、离线与身份验证的网络开发指导。

FollowSkills 评估 · FSRS-2.0
不推荐
55/ 100 五分制 2.8 / 5
信任安全18 / 25 · 3.6/5

技能明确提示不要将密钥放入 EXPO_PUBLIC_、使用 SecureStore 保存令牌,并建议输入校验和服务器端秘密管理,数据流风险有一定透明度;但没有用户确认、最小权限、回滚方案或系统化依赖安全说明,部分认证示例仍依赖未定义的 refreshToken 和 isTokenExpired,因此扣分。

可靠稳定8 / 20 · 2.0/5

内容结构一致,涵盖基础请求、错误处理、重试、取消、离线和环境变量;但仅提供静态代码片段,没有针对关键路径的提交测试,部分行为依赖未说明的库版本和实现,网络异常、令牌刷新并发失败及响应格式异常的反馈仍不完整,因此静态评估不超过10分。

适用触发11 / 15 · 3.7/5

触发条件和使用场景较清晰,覆盖 Expo 原生、Web、React Query、SWR、认证和离线请求,并说明 Web loader 与原生场景的边界;但未提供中文支持、网络可达性或更细的非适用范围,且“任何网络工作”触发范围偏宽,因此扣分。

规范维护9 / 15 · 3.0/5

具备名称、描述、版本、MIT 许可、参考文档、决策树、常见错误和调用示例,仓库 README 还说明了安装、更新及官方文档作为事实来源;但选定技能没有变更日志、明确维护责任人、稳定性承诺、依赖安装说明或系统化 FAQ,部分参考内容注明为未来变化,因此扣分。

有效结果6 / 15 · 2.0/5

技能能直接给出 fetch、React Query、SWR、SecureStore、EXPO_PUBLIC_、loader、离线和取消的可改编示例,核心任务覆盖较完整;但没有静态可验证的实际输出、测试结果或与手工实现及替代方案的比较,若干示例需项目上下文和额外修订,因此按静态上限保守扣分。

证据核验3 / 10 · 1.5/5

证据主要是技能自身的说明、代码片段、仓库 README、许可证和有限的 CI 工作流;没有覆盖该技能关键路径的提交测试、第三方执行记录或多源交叉验证,因此仅给予有限可审计证据分。

证据充分度: 评估于 2026年7月20日 审查版本 8bd359f8a44d
使用前请注意
  • 示例中的 API、库版本和 Expo SDK 55+ loader 行为应以当前官方文档核对。
  • 不要将任何高权限密钥、数据库密码或写权限 API 密钥放入 EXPO_PUBLIC_;loader 返回值会被序列化,避免泄露敏感数据。
  • 认证、重试、离线持久化和令牌刷新代码仍需补充超时、输入校验、并发失败处理和可诊断日志。
  • 该评估仅基于静态文件,未执行代码或测试。
查看完整评分方法 →

这个 Skill 能做什么,适合哪些场景?

这是 expo/skills 集合中的一个开源框架技能,专注于 Expo 和 React Native 应用的数据请求与网络调试。它涵盖 fetch、React Query、SWR、错误处理、缓存、离线支持、身份验证、环境变量以及 Expo Router 数据加载器。技能偏好使用 fetch 或 expo/fetch,而不是 axios。它适合需要构建或排查网络功能的 Expo 项目,但源码没有提供测试套件或独立安装单元的说明。

指导代理编写 GET 和 POST fetch 请求,检查 HTTP 状态并解析响应;配置 React Query 查询、变更、缓存和重试;使用 SWR 或自定义 hooks 处理较简单的数据获取;设计 ApiError、指数退避、请求取消和离线方案;使用 expo-secure-store 保存令牌并实现刷新流程;配置 EXPO_PUBLIC_ 环境变量和不同环境的 API URL;根据场景查阅 Expo Router loaders 及离线取消相关参考文件。

  1. Expo 开发者需要为 React Native 页面接入 GET 或 POST API。
  2. 团队需要用 React Query 或 SWR 管理查询状态、缓存和重新获取。
  3. 开发者正在排查 HTTP 错误、无网络错误、超时或重试问题。
  4. 应用需要安全保存身份验证令牌并处理令牌刷新。
  5. 应用需要检测离线状态、缓存数据或支持离线优先流程。
  6. 团队需要为开发和生产环境配置不同的 API 地址。

这个 Skill 有哪些优点和局限?

优点
  • 覆盖 API 请求、缓存、错误处理、身份验证和离线场景。
  • 提供可直接改写的 TypeScript/TSX 示例。
  • 明确提醒不要把秘密放入 EXPO_PUBLIC_ 环境变量。
  • 包含 Expo Router loaders、NetInfo 和 AbortController 的专项参考入口。
  • 采用 MIT 许可证,并由 Expo 官方团队维护的技能集合发布。
局限
  • 技能本身是指导文档,不是可执行的数据请求库。
  • README 主要描述整个 23 技能集合,未提供该子技能的独立安装流程。
  • 源码未提供测试套件、性能基准或平台覆盖验证。
  • 离线支持和 Expo Router loaders 的详细内容依赖未展示的 references 文件。

如何安装这个 Skill?

该技能属于 expo/skills 集合。使用 Skills CLI 安装全部 Expo 技能:npx skills@latest add expo/skills --skill '*';随后按 CLI 提示选择目标代理,并重启或刷新代理会话。Codex 可安装包含该技能的官方插件:codex plugin add expo@openai-curated。源码未说明仅安装 expo-data-fetching 子技能的独立命令或目标文件夹。

如何使用这个 Skill?

在已安装该技能的代理中提出具体网络任务,例如:“如何在 Expo 应用中使用 React Query 获取用户资料并处理错误?”或“如何为 Expo Router 页面配置数据加载?”技能会根据任务覆盖 fetch、React Query、SWR、SecureStore、环境变量、离线支持和 loaders 等方案;Expo Router loaders 参考限定为 Web、SDK 55+ 场景。

这个 Skill 与同类方案有什么区别?

相较于 axios,技能明确偏好 fetch 或 expo/fetch。对于数据状态管理,它建议复杂应用使用 React Query,较简单的需求使用 SWR 或自定义 hooks。

常见问题

这个技能本身是否收费?
源材料将其归为 Framework(open source)技能,许可证为 MIT;材料没有说明其他使用费用。
它是否适合所有 Expo 网络请求?
技能描述要求将其用于任何网络请求、API 调用、数据获取、缓存或网络调试任务。
EXPO_PUBLIC_ 变量可以保存 API 密钥吗?
只能放客户端可公开的配置或密钥;具有写入权限的 API 密钥和数据库密码不应放入其中,因为它们会出现在构建后的应用中。
Expo Router loaders 是否支持原生平台?
展示的 loaders 参考针对 Web、SDK 55+;原生场景建议使用 React Query 或 fetch。

同仓库的其他 Skills

均来自 expo/skills

开发与工程

Expo 原生 UI 构建助手

用 @expo/ui 在 Expo 中构建跨平台原生界面。

开发与工程

Expo 棕地集成助手

帮助团队将 Expo 和 React Native 增量集成到现有的原生 iOS 或 Android 应用中。

开发与工程

Expo 项目结构指南

为全新的 Expo Router 应用建立清晰、可扩展的文件结构。

自动化与运维

EAS Observe 性能观测助手

帮助 Expo 团队接入、查询并解读生产环境中的启动、导航和自定义事件性能指标。

开发与工程

Expo 技能反馈

帮助用户提交 Expo 技能或框架反馈,并管理匿名使用遥测。

开发与工程

Expo Web 转原生迁移指南

将现有 React 网站逐屏迁移为可发布的 Expo 原生应用。

开发与工程

Expo 集成示例助手

用 Expo 官方示例快速适配第三方库与服务。

设计与前端

Expo 原生界面设计指南

帮助 Expo 开发者构建符合 Apple 设计规范、具备原生体验的响应式界面。

开发与工程

Expo SDK 升级助手

帮助 Expo 团队升级 SDK、处理依赖冲突并完成兼容性清理。

开发与工程

Expo DOM 组件助手

让 Expo 原生应用渐进式复用 Web 代码与 Web 专属库。

开发与工程

Expo 技能评测器

端到端验证 Expo 技能是否触发、产出可用代码并正确渲染。

开发与工程

Expo Tailwind 样式配置助手

为 Expo 应用配置 Tailwind CSS v4、NativeWind v5 与跨平台样式支持。

开发与工程

Expo 原生模块迁移助手

将现有 Expo 原生模块从 1.0 DSL 迁移到 2.0 宏 API,同时保持 JavaScript 接口不变。

开发与工程

Expo EAS 托管部署

帮助 Expo 项目部署网站与 API 路由,并配置密钥、域名和边缘运行时。

开发与工程

EAS 云端模拟器助手

让无法本地运行模拟器的团队在 EAS 云端运行、操控并截图 Expo 应用。

自动化与运维

EAS 更新健康洞察

用 CLI 检查 EAS Update 的崩溃率、采用情况与发布健康度。

开发与工程

Expo App Clip 助手

为 Expo 应用配置可由网址唤起的 iOS App Clip。

开发与工程

Expo 开发客户端构建助手

为 Expo 原生代码测试构建并分发开发客户端。

开发与工程

Expo 应用商店发布助手

用 EAS 构建并发布 Expo 应用到 App Store、Google Play 和 TestFlight。

自动化与运维

Expo EAS 工作流助手

帮助 Expo 项目编写、编辑和验证 EAS CI/CD 工作流。

相关 Skills