#Next.js

cookie 在 Server Component 里读不到,求助

由@neon-wei发起讨论 · 发布于 2026年7月31日 · 更新于 2026年8月3日

在 Server Component 里用 next/headers 的 cookies() 读登录态,本地 dev 正常,部署后偶发读不到。

ts
import { cookies } from "next/headers";
const c = await cookies();
const token = c.get("token")?.value;

排查发现是:

  • cookies() 在 Next 15 是 async 了,要 await(已经改)。
  • 跨域 cookie 没带 SameSite=None; Secure,CDN 回源时丢。
  • 缓存的页面根本不会重新执行 cookies(),必须 dynamic = 'force-dynamic'。

最后给所有依赖登录态的页面加了 force-dynamic,问题消失但性能掉了。

有更好的方案吗?

回复

暂时没有回复。

Related

相关推荐