SuperAPI AI 工具集

supabase_patterns

通用与其它

查看项目

更新于 10-16 04:31

技能介绍

用途:指导在 Next.js 15 App Router 中结合 Supabase SSR 实现功能,核心是判断该用 Server Component 还是 Client Component,并为不同运行环境选择正确的 Supabase 客户端。

主要能力:提供组件类型决策树(是否需要交互、是否需从数据库/API 取数);给出常见场景对照表,如展示数据用 Server Component 配 @/lib/supabase/server,保存/删除按钮、带校验表单、实时聊天用 Client Component 配 @/lib/supabase/client,表单配合 Server Action 时用 Server Component,API 路由用 Route Handler。

实现模式:Server Component 取数(await createClient() 后 select,处理 error 再传数据给子组件);Client Component 交互('use client'、useState、createClient() 后 insert);Server 到 Client 的数据流只传必要字段,禁止传完整 user 对象;Server Action 做变更('use server'、getUser() 校验、insert、revalidatePath)。

客户端选择:Server Component、Server Action、Route Handler 用 @/lib/supabase/server 并 await createClient();Client Component 用 @/lib/supabase/client;Middleware 用 @/lib/supabase/middleware。

安全与限制:认证校验用 getUser() 而非 getSession();只向客户端传必要字段;考虑 RLS 策略;避免 Async Client Component、错误客户端、any 类型、缺少错误处理与加载状态。资料未提供具体版本、收费或平台信息。