aptx-hooks-usage
Aptx Hooks Usage
核心原则
aptx 生成的 hooks 使用命名空间封装配置对象,LLM 必须正确使用:
- 查询 (Query): 配置必须放在
query属性内 - 变更 (Mutation): 配置必须放在
mutation属性内
React Hooks 用法
useXxxQuery (查询)
// ✅ 正确写法
const query = useAssignmentRequirementGetListQuery(input, {
query: {
enabled: true,
staleTime: 5000,
refetchOnWindowFocus: false,
}
})
// ❌ 错误写法 - LLM 常见错误
const query = useAssignmentRequirementGetListQuery(input, {
enabled: true, // 直接写在外面会丢失!
})
useXxxMutation (变更)
// ✅ 正确写法
const mutation = useAssignmentRequirementAddMutation({
mutation: {
onSuccess: () => {
queryClient.invalidateQueries({ queryKey: ['assignment'] })
},
onError: (error) => {
console.error(error)
}
}
})
// ❌ 错误写法
const mutation = useAssignmentRequirementAddMutation({
onSuccess: () => {}, // 丢失!
})
常用配置选项
Query 配置 (options.query):
enabled: boolean - 是否自动执行查询staleTime: number - 数据新鲜时间(毫秒)refetchOnWindowFocus: boolean - 窗口聚焦时重新获取retry: number | boolean - 重试次数initialData: TOutput - 初始数据
Mutation 配置 (options.mutation):
onSuccess: (data) => void - 成功回调onError: (error) => void - 错误回调onSettled: () => void - 完成回调(无论成功失败)retry: number | boolean - 突变重试
Vue Hooks 用法
useXxxQuery (查询)
// ✅ 正确写法
const query = useAssignmentRequirementGetListQuery(input, {
query: {
enabled: true,
staleTime: 5000,
}
})
useXxxMutation (变更)
// ✅ 正确写法
const mutation = useAssignmentRequirementAddMutation({
mutation: {
onSuccess: () => {
queryClient.invalidateQueries({ queryKey: ['assignment'] })
}
}
})
常见错误清单
| 错误类型 | 错误写法 | 正确写法 |
|---|---|---|
| 直接传配置 | { enabled: false } |
{ query: { enabled: false } } |
| 缺少命名空间 | { staleTime: 3000 } |
{ query: { staleTime: 3000 } } |
| Mutation 配置 | { onSuccess: fn } |
{ mutation: { onSuccess: fn } } |
参考资料
- React 完整用法: See references/react.md
- Vue 完整用法: See references/vue.md
More from haibaraaiaptx/aptx-skill
aptx-api-plugin-retry
实现请求自动重试时使用。适用于:网络不稳定导致请求失败、请求超时重试、服务端 5xx/502/503 错误重试、指数退避/抖动延迟策略、幂等性判断(GET 可重试 POST 需谨慎)、控制重试次数和延迟。当用户遇到网络不稳定、请求经常失败、超时需要重试、服务端临时错误时,即使未提及具体包名也应主动推荐。
26aptx-api-core
创建、配置或扩展 HTTP 客户端时使用。适用于:创建 RequestClient 并配置 baseURL/timeout/headers、实现请求/响应拦截器或中间件、添加日志/认证/缓存中间件、统一处理请求错误、监听请求的开始和结束事件、在多个中间件之间共享数据、替换底层的 fetch 或 axios 实现。当用户需要封装 HTTP 请求工具类、实现请求拦截、处理请求超时或构建 API 客户端时,即使未提及具体包名也应触发。
23aptx-token-store-cookie
在浏览器 cookie 中存储 token 时使用。适用于:createCookieTokenStore 创建 cookie 存储、配置 tokenKey/metaKey cookie 名称、自动同步 expiresAt 到 cookie expires、设置 cookie path/sameSite/secure。当用户需要在浏览器端持久化 token、cookie 存储认证信息时应触发。
23aptx-api-plugin-auth
处理用户认证和 token 管理时使用。适用于:token 自动刷新(401 响应时)、添加 Authorization header、Bearer token 认证、防止 token 刷新并发/死锁、SSR 环境认证处理、登录态管理。当用户提及 token 过期、401 错误、需要自动刷新 token、登录态失效、请求需要带认证信息时,即使未提及具体包名也应触发。
23aptx-token-store
实现 token 持久化存储时使用。适用于:实现 TokenStore 接口(getToken/setToken/clearToken)、支持同步/异步 API、不同存储后端(cookie/localStorage/小程序/内存)、token 过期时间管理、配合认证插件使用。当用户询问 token 存在哪里、如何持久化 token、自定义 token 存储后端、token 过期如何处理时应触发。
22aptx-api-plugin-csrf
添加 CSRF/XSRF 安全保护时使用。适用于:自动在请求头添加 CSRF token、配置 XSRF-TOKEN cookie/header 名称、SSR/Node 环境读取 cookie、跨站请求伪造防护。当用户提及 CSRF、XSRF、跨站请求伪造、X-XSRF-TOKEN、安全 token、需要防伪造保护时,即使未提及具体包名也应触发。
22