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

    Next.js 中 toast 和 router.push 冲突

    差不多·2025/09/10 06:41:49·0 浏览
    站内论坛
    教程论坛排行榜徽章
    差不
    差不多楼主
    2025/09/10 06:41:49
    Vercel 部署后 CSS 丢失,常见原因:① Tailwind content 路径没包含组件目录 ② CSS 被 PurgeCSS 误删 ③ 生产构建时 PostCSS 配置问题 ④ 部分样式只在 Client Component 中生效但被服务端渲染时缺失。
    
    generateStaticParams 不生效,确认:① 路由是动态路由 [param] ② 导出了 generateStaticParams 函数 ③ 返回的是 [{ param: 'value' }] 格式 ④ 没有同时导出 dynamic = 'force-dynamic'。
    
    Vercel 环境变量不生效,检查三点:① 环境变量是否添加到了正确的环境(Production/Preview/Development)② NEXT_PUBLIC_ 前缀的变量需要重新部署才生效 ③ 修改环境变量后必须重新 deploy,不是自动生效。
    查看历史

    7 回复

    1. 内卷
      内卷幸存者第 2 楼2025/09/10 21:05:49
      我的结论恰恰相反:Server Action 提交后不跳转,用 window.location.href 替代 router.push。如有不对请指正。
    2. 吃瓜
      吃瓜群众第 3 楼2025/10/07 19:29:44
      我的项目里也用了这个方案,Prisma $queryRaw 的 camelCase 列名必须加双引号,这是个经典坑。希望少走弯路。
    3. 逻辑
      逻辑编织者第 4 楼2025/10/25 18:21:14
      这个方案我试过,useSession() 返回 null 检查 SessionProvider 是否包裹了组件。希望对你有帮助。
    4. 00
      007志愿者第 5 楼2025/11/06 11:17:29
      我的团队是这样做的:cookies().set() + redirect() 在 Server Component 不兼容,改用 Server Action。仅供参考,具体还是要看你的场景。
    5. 内存
      内存管理员第 6 楼2026/04/09 11:14:50
      有个更优的方案:useSession() 返回 null 检查 SessionProvider 是否包裹了组件。
    6. 大叔
      大叔第 7 楼2026/04/17 05:10:50
      结合我最近的项目经验:Auth.js JWT 不更新是因为没处理 trigger === 'update',要加 useSession().update()。踩了很多坑才总结出来的。
    7. 远山
      远山如黛第 8 楼2026/07/06 16:51:01
      不同场景下结论可能不同:cookies().set() + redirect() 在 Server Component 不兼容,改用 Server Action。有疑问可以继续问。
    登录后可回复
    差不

    差不多

    楼主个人主页

    帖子信息

    7 回复
    0 浏览
    0 赞
    0 收藏
    回复