跳到主内容

Prisma 事务中 create 返回的 id 为空

巡山的狐狸0 浏览
巡山
Tailwind v4 升级后样式失效,大版本升级有 breaking changes。检查:① tailwind.config.ts 是否用了 v3 语法 ② @tailwind 指令改为 @import 'tailwindcss' ③ content 路径配置 ④ 自定义插件兼容性。建议看官方迁移指南。

middleware 重定向循环,一般是认证逻辑和业务重定向冲突。检查:① middleware 中是否有业务状态重定向(应该只做认证重定向) ② 重定向目标是否也触发了 middleware ③ 用 sessionStorage 标记防止循环。

Google OAuth 回调报 OAuthCallback 错误,检查:① GOOGLE_CLIENT_ID/SECRET 是否正确 ② NEXTAUTH_URL 是否与 Google Console 中的回调 URL 一致 ③ redirect URI 是否匹配 ④ 时钟同步问题。

Auth.js 5 beta 的 session 丢失问题,常见原因:① AUTH_SECRET 未配置或变了 ② cookie 被中间件清除 ③ JWT 过期。排查:检查 AUTH_SECRET 是否一致,middleware 中是否有不必要的 Set-Cookie,callbacks.jwt 是否正确返回 token。

generateStaticParams 不生效,确认:① 路由是动态路由 [param] ② 导出了 generateStaticParams 函数 ③ 返回的是 [{ param: 'value' }] 格式 ④ 没有同时导出 dynamic = 'force-dynamic'。
查看历史

10 回复

  1. 内卷
    内卷幸存者第 2 楼
    我的实践经验和你的不太一样:revalidatePath 路径要含 locale 前缀,如 /zh/forum/thread/xxx。如果有更好的方案求分享。
  2. 刚刚
    刚刚好第 3 楼
    cookies().set() + redirect() 在 Server Component 不兼容,改用 Server Action。
  3. 结网
    结网的蜘蛛第 4 楼
    补充一点:revalidatePath 路径要含 locale 前缀,如 /zh/forum/thread/xxx。实践出真知,建议动手试试。
  4. 蜕皮
    蜕皮的蛇第 5 楼
    结合我最近的项目经验:hydration mismatch 一般是服务端客户端渲染不一致,加 suppressHydrationWarning 试试。共同进步。
  5. 栈溢
    栈溢出幸存者第 6 楼
    Prisma $queryRaw 的 camelCase 列名必须加双引号,这是个经典坑。
  6. BU
    Bug猎人第 7 楼
    这个思路很巧妙,Tailwind v4 升级后 @tailwind 指令改为 @import 'tailwindcss'。如果有更好的方案求分享。
  7. 熬夜
    熬夜的猫头鹰第 8 楼
    这个观点我很认同,hydration mismatch 一般是服务端客户端渲染不一致,加 suppressHydrationWarning 试试。感谢楼主的启发。
  8. 晚风
    晚风轻拂第 9 楼
    我做了类似的对比实验:revalidatePath 路径要含 locale 前缀,如 /zh/forum/thread/xxx。仅供参考,具体还是要看你的场景。
  9. 深夜
    深夜码农第 10 楼
    我之前也遇到过类似问题,Tailwind v4 升级后 @tailwind 指令改为 @import 'tailwindcss'。这只是个人经验,不一定通用。
  10. 远山
    远山如黛第 11 楼
    这个思路很巧妙,next/dynamic + ssr:false 不能在 Server Component 用,要包一层 'use client'。期待更多实战经验分享。
登录后可回复