SuperAPI AI 工具集

state-and-data

编程与开发

查看项目

更新于 10-16 01:35

技能介绍

用途:审查 React Native 应用的数据与状态处理,适用于把界面接入 API、检查服务端状态的获取/缓存/展示、处理离线模式与不稳定网络,以及实现支付、结账等关键事务。适用平台为 iOS 与 Android,React Native 0.76+(默认假设已启用新架构互操作)。

主要能力与检查要点:服务端状态应使用查询库(如 TanStack Query),而非用 useState 存 API 数据;不把服务端状态复制到本地状态;按数据类型设置合适的 staleTime;变更操作在合适处使用乐观更新(onMutate)并在出错时回滚;展示加载、空和错误状态。表单与本地状态需在离开再返回时保留,且不被键盘弹出或屏幕旋转重置。离线与网络切换需有明确离线提示、离线时读取缓存数据、破坏性变更离线排队前需确认、请求中途断网用超时处理而非无限转圈、卸载时取消进行中的请求。事务与关键操作需服务端确认成功、处理中断、外部跳转(OAuth、3DS)干净返回、网络恢复后不自动重试 POST 以避免重复。

用法示例:查询用 useQuery 配 queryKey、queryFn 与 staleTime;请求超时用 AbortController 加 setTimeout 中止;支付先调用 SDK 再用 api.confirmPayment 服务端确认后再跳转。

反模式:useState+useEffect 取 API 数据、用全局 store 存服务端数据、组件内直接 fetch/axios、fire-and-forget 异步、重连后自动重试 POST。

限制与注意:staleTime 默认 0 会导致每次聚焦重新请求;乐观更新无回滚会留下不可能状态;未清理 AbortController 会在已卸载组件上更新状态;展示过期缓存却不提示离线会误导用户;事务前不保存意图,崩溃即丢失状态。