SuperAPI AI 工具集

nuqs

测试与质量

查看项目

更新于 10-15 21:41

技能介绍

用途:以 URL 作为状态契约,使用 nuqs 2.x 实现、审查、调试和测试类型安全的查询参数状态。适用于选择 NuqsAdapter、挑选解析器、使用 useQueryState/useQueryStates,以及在服务端边界解析查询状态。

主要能力:按步骤组织工作流。第一步建模 URL 契约,记录每个查询键的 URL 拼写、域类型、缺省或非法值、默认值是否移除键、更新属于导航还是临时 UI 状态,以及哪些客户端组件、加载器、路由或服务端组件读取它;选择适配器前先确认已安装的 nuqs、框架和路由主版本。第二步定义解析器契约,把相关解析器放在依赖中立的模块中,服务端消费者导入时从 nuqs/server 引入,客户端钩子复用同一解析器对象;优先使用匹配线格式的内置解析器,仅在缺省和非法值应解析为非空域默认值时使用 .withDefault(value),默认值保持内部,设为 null 会移除查询键。第三步绑定客户端状态,单键用 useQueryState,成组或需原子更新用 useQueryStates,URL 值作为唯一事实来源;按需选择 replace/push、shallow、scroll、clearOnDefault,并用 throttle(ms) 或 debounce(ms) 限制更新频率。第四步在存在服务端读取时于加载器、请求处理器、路由校验器或服务端组件复用解析器契约,入口解析优先用 createLoader,嵌套 Next.js 服务端组件需要免 prop 传递时用 createSearchParamsCache。第五步验证契约,运行类型检查和测试,覆盖缺省、有效、空和非法值,并检查刷新、复制链接、前进后退和服务端刷新行为。

使用方式:资料给出示例解析器定义,使用 parseAsInteger、parseAsString、parseAsStringLiteral 等内置解析器,自定义解析器仅在无法表达线格式时创建,其 parse 对非法输入返回 null,且解析与序列化对每个有效值构成纯的无损往返。

适用场景:Next.js、Remix、React Router 等框架中需要将查询参数作为类型安全状态管理的项目。

限制:资料未提供具体安装命令、版本兼容矩阵、性能数据或收费信息;自定义解析器、对象相等性、Standard Schema 校验等分支需参考对应条件分支文档。