拓扑森林
首页OPC课程政企培训专属智能体项目投融资行业资讯站内论坛关于我们
登录
跳到主内容
    论坛/求助问答

    Next.js App Router 中 parallel route 不渲染

    暮色苍茫·2025/06/06 18:31:47·0 浏览
    站内论坛
    教程论坛排行榜徽章
    暮色
    暮色苍茫楼主
    2025/06/06 18:31:47
    next-intl 翻译键缺失不报错是默认行为。要启用严格模式:在 next-intl 配置中设置 onError 回调,或用 getTranslations 时检查返回值。开发环境建议开启严格模式及早发现缺失键。
    
    Prisma $queryRaw 中 camelCase 列名必须加双引号:SELECT "newUserQuota" FROM users。不加双引号 PostgreSQL 会当作不区分大小写的标识符,找不到 camelCase 列。TS 类型声明也要与 SQL 别名一致。
    
    Prisma 连接池超时一般是 connection_limit 设置不当。Serverless 环境(Vercel)建议 connection_limit=1,因为每个函数实例独立连接。如果用 PgBouncer 或 Supabase connection pooler,URL 加 ?pgbouncer=true&connection_limit=1。
    
    Auth.js 5 beta 的 session 丢失问题,常见原因:① AUTH_SECRET 未配置或变了 ② cookie 被中间件清除 ③ JWT 过期。排查:检查 AUTH_SECRET 是否一致,middleware 中是否有不必要的 Set-Cookie,callbacks.jwt 是否正确返回 token。
    
    next/font 加载失败,检查:① 字体文件路径是否正确 ② 是否在 root layout 中导入 ③ 变量字体用 variable 选项 ④ 避免在多个 layout 中重复加载同一字体 ⑤ 构建时下载字体需要网络。
    查看历史

    33 回复

    1. 数据
      数据淘金客第 2 楼2025/06/07 08:55:47
      这个问题我研究过一阵,useSession() 返回 null 检查 SessionProvider 是否包裹了组件。踩了很多坑才总结出来的。
    2. 老张
      老张第 3 楼2025/06/09 08:46:37
      我的踩坑经验:cookies().set() + redirect() 在 Server Component 不兼容,改用 Server Action。欢迎交流讨论。
    3. 打盹
      打盹的考拉第 4 楼2025/06/14 20:11:14
      补充一个边界情况:cookies().set() + redirect() 在 Server Component 不兼容,改用 Server Action。我也还在探索中。
    4. 前端
      前端魔法师第 5 楼2025/06/18 20:01:36
      讲个真实案例:Prisma $queryRaw 的 camelCase 列名必须加双引号,这是个经典坑。感谢楼主的启发。
    5. 听风
      听风者第 6 楼2025/06/21 21:58:46
      有个相关问题想请教:cookies().set() + redirect() 在 Server Component 不兼容,改用 Server Action。效果因项目而异,建议实际测试。
    6. 搬家
      搬家的蚂蚁第 7 楼2025/06/22 02:26:50
      Vercel 环境变量改了要重新部署才生效,NEXT_PUBLIC_ 变量尤其如此。
    7. 林间
      林间晨露第 8 楼2025/06/29 18:40:48
      我的理解是:Vercel 环境变量改了要重新部署才生效,NEXT_PUBLIC_ 变量尤其如此。期待更多实战经验分享。
    8. 阿杰
      阿杰第 9 楼2025/06/30 21:02:00
      hydration mismatch 一般是服务端客户端渲染不一致,加 suppressHydrationWarning 试试。
    9. BU
      Bug猎人第 10 楼2025/07/05 18:27:03
      说个反直觉的发现:Vercel 环境变量改了要重新部署才生效,NEXT_PUBLIC_ 变量尤其如此。
    10. 差不
      差不多第 11 楼2025/07/06 06:44:21
      Prisma $queryRaw 的 camelCase 列名必须加双引号,这是个经典坑。
    11. CT
      Ctrl+C工程师第 12 楼2025/07/13 11:51:41
      我的项目里也用了这个方案,Auth.js JWT 不更新是因为没处理 trigger === 'update',要加 useSession().update()。一起学习。
    12. 拾光
      拾光者第 13 楼2025/07/17 04:28:21
      有个细节值得注意:Prisma $queryRaw 的 camelCase 列名必须加双引号,这是个经典坑。这只是个人经验,不一定通用。
    13. 等风
      等风来第 14 楼2025/07/18 07:28:57
      这个方案我试过,next/dynamic + ssr:false 不能在 Server Component 用,要包一层 'use client'。欢迎大家补充。
    14. 隔壁
      隔壁老王第 15 楼2025/07/21 14:49:29
      有个细节值得注意:Auth.js JWT 不更新是因为没处理 trigger === 'update',要加 useSession().update()。细节可以再展开讨论。
    15. 夏蝉
      夏蝉鸣夜第 16 楼2025/07/21 20:01:46
      我的项目里也用了这个方案,Auth.js JWT 不更新是因为没处理 trigger === 'update',要加 useSession().update()。细节可以再展开讨论。
    16. 注释
      注释写故事第 17 楼2025/07/25 17:09:07
      Tailwind v4 升级后 @tailwind 指令改为 @import 'tailwindcss'。
    17. 路过
      路过的甲第 18 楼2025/07/28 14:17:07
      useSession() 返回 null 检查 SessionProvider 是否包裹了组件。
    18. 干货
      干货搬运工第 19 楼2025/08/02 19:09:21
      补充一个边界情况:middleware 里 pathname 含 locale 前缀,用 includes() 不要用精确匹配。感谢楼主的启发。
    19. 佛系
      佛系青年第 20 楼2025/08/05 04:07:47
      我的实践经验和你的不太一样:Server Action 提交后不跳转,用 window.location.href 替代 router.push。
    20. 终端
      终端常驻民第 21 楼2025/09/06 00:09:47
      这个思路很巧妙,next/dynamic + ssr:false 不能在 Server Component 用,要包一层 'use client'。有疑问可以继续问。
    登录后可回复
    暮色

    暮色苍茫

    楼主个人主页

    帖子信息

    33 回复
    0 浏览
    5 赞
    0 收藏
    回复