1. 样式开发:nativewind + clsx + tailwind-merge
此前尝试过 StyleSheet 原生写法与 styled-components 方案,均觉得语法冗余、编写繁琐。而采用 nativewind 实现类 Tailwind CSS 的 className 样式编写方式,再配合 clsx 与 tailwind-merge 封装的 cn 函数,处理不同状态下的样式切换时,体验极为便捷高效 ------ 无需冗余嵌套,就能灵活组合样式,大幅简化了样式开发流程。
2. 请求管理:@tanstack/react-query
想必不少人都遇到过这样的痛点:A 组件更新数据后需同步刷新 B 组件数据,此时请求函数往往要层层透传,流程繁琐且不易维护。而 @tanstack/react-query 的出现彻底解决了这一问题,堪称前端请求管理的 "神级工具"。它能集中管理所有请求逻辑与返回数据,无需层层透传请求函数,仅需一行代码即可触发请求重发,极大简化了跨组件数据同步的复杂度,实用性拉满。
3. 本地存储:expo-sqlite + drizzle-orm + drizzle-zod + zod
经过对多种本地存储方案与 ORM 工具的调研对比,我最终选定 expo-sqlite 作为核心存储方案。恰好 drizzle-orm 已原生支持 expo-sqlite,且其官网内置了 AI 答疑功能,遇到疑问可直接咨询,体验与 Prisma 类似;但 Prisma 暂不支持 expo-sqlite,因此 drizzle-orm 成为了更适配的选择。再搭配 drizzle-zod 与 zod 实现参数校验,整套方案从存储操作到数据校验无缝衔接,类型安全且易用性强,用起来十分顺手。
4. 表单处理:react-hook-form + @hookform/resolvers + zod
React Native 生态中,好用的表单组件库相对稀缺。因此我选用 react-hook-form 作为表单管理核心,其简洁的 API 设计、高效的状态管理能力,大幅提升了表单开发效率。同时结合 @hookform/resolvers 与 zod 实现表单校验,无需手动编写复杂的校验逻辑,就能实现类型安全的参数校验,显著节省了开发时间与后期调试成本。