next.js 下一个的页面.tsx导出force-dynamic不能动态呈现

n53p2ov0  于 2023-10-18  发布在  其他
关注(0)|答案(1)|浏览(136)

我有一个页面,我想动态呈现,而不是静态的。不幸的是,简单地做的普遍答案是:

export const dynamic = "force-dynamic";

不起作用我也试过

export const revalidate = 0;

我试过很多种组合
我知道它是静态呈现的,因为客户端在访问页面后的5分钟内不会向服务器发出任何请求,这对于静态呈现的页面来说是正常的。
另一个奇怪的方面是,我正在使用cookie来获取。没有为提取指定cache参数。
页面的路径是/reports/income-statement,所以它没有使用slugs。这是否意味着我不能强迫它是动态的?我也没有使用任何searchParams(尽管它接受searchParams)。
版本:已尝试使用Next 13.4.5和13.4.3

vsmadaxz

vsmadaxz1#

我想我找到了问题的答案:第13章是错误的,或者至少是误导性的
当涉及到路由器缓存时,您无法将页面配置为动态或非动态。像export const dynamic = 'force-dynamic'export const dynamic = 'auto'这样的声明不适用于Pages。同样,fetch请求的该高速缓存选项也无关紧要。
来源:https://github.com/vercel/next.js/discussions/54075
影响路由器缓存的唯一方法是使用服务器操作或使用router.refresh()。

相关问题