用途:critical-rules 是 React Native 项目的基线安全检查清单,适用于 iOS 与 Android,假定 React Native 0.76+ 及新架构互操作。它用于每次改动、合并涉及渲染、数据、认证或存储的代码前,以及审查崩溃、数据丢失、安全或合规风险时。
主要能力:覆盖五类规则。崩溃方面,要求嵌套访问用可选链、API 数据提供回退、不在 JSX 文本直接渲染 undefined/null/NaN/对象、避免 {count && ...} 在 0 时渲染出 "0"、数组索引访问前检查长度、处理空/加载/错误状态、卸载后不更新状态、不在组件内定义组件、不条件或循环调用 Hooks。数据丢失方面,要求返回时保留表单状态、处理事务中断、关键操作服务端确认、POST 不在网络恢复后自动重试、破坏性离线变更需用户确认。安全方面,禁止硬编码密钥、敏感数据仅存 Keychain/Keystore、关键接口 SSL pinning、不记录 PII、校验深链参数、登出重置认证与导航、不本地存支付凭证。合规方面,要求用户同意前不采集分析或设备数据(iOS ATT、GDPR)、支持数据导出与删除、不超保留期留存、显式请求权限并优雅处理拒绝。网络方面,处理超时、401 静默刷新、不单独信任客户端校验、卸载时取消进行中请求。日期方面,时间敏感数据须显式处理时区,业务逻辑不用设备本地时间。
使用方式:作为每次改动的基线检查逐项核对;详细原因与正误示例见相关技能 architecture、state-and-data、security。
限制:这是基线规则而非完整方案;即使某规则“通常”成立,也需每次检查,因为崩溃与泄漏常来自被跳过的那一次。资料未提供安装命令、价格或平台支持细节。