draftMode
draftMode
是一个异步函数,允许你启用和禁用 草稿模式,以及在 服务端组件 中检查草稿模式是否已启用。
- TypeScript
- JavaScript
app/page.ts
import { draftMode } from 'next/headers'
export default async function Page() {
const { isEnabled } = await draftMode()
}
app/page.js
import { draftMode } from 'next/headers'
export default async function Page() {
const { isEnabled } = await draftMode()
}
参考
以下方法和属性可用:
方法 | 描述 |
---|---|
isEnabled | 一个布尔值,指示草稿模式是否已启用。 |
enable() | 通过设置 cookie(__prerender_bypass )在路由处理器中启用草稿模式。 |
disable() | 通过删除 cookie 在路由处理器中禁用草稿模式。 |
提示
draftMode
是一个异步函数,返回一个 Promise。你必须使用async/await
或 React 的use
函数。- 在版本 14 及更早版本中,
draftMode
是一个同步函数。为了帮助向后兼容,你仍然可以在 Next.js 15 中同步访问它,但此行为将在未来被弃用。
- 在版本 14 及更早版本中,
- 每次运行
next build
时都会生成一个新的绕过 cookie 值。这确保绕过 cookie 无法被猜测。 - 要在本地通过 HTTP 测试草稿模式,你的浏览器需要允许第三方 cookies 和本地存储访问。