draftMode
draftMode
は、Draft Modeを有効化または無効化し、server componentでDraft Modeが有効かどうかを確認するための非同期関数です。
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 | Draft Modeが有効かどうかを示すブール値です |
enable() | cookie (__prerender_bypass )を設定してRoute HandlerでDraft Modeを有効にします |
disable() | cookieを削除してRoute HandlerでDraft Modeを無効にします |
Good to know
draftMode
は、プロミスを返す非同期関数です。async/await
もしくはReactのuse
関数を使用する必要があります。- バージョン14以前では、
draftMode
は同期関数でした。後方互換性をサポートするために、Next.js 15でも同期的にアクセスできますが、この動作は将来的に非推奨となる予定です。
- バージョン14以前では、
next build
を実行するたびに新しいバイパスcookieの値が生成されます。これにより、バイパスcookieが推測されることを防ぎます。- HTTP上でDraft Modeをローカルでテストするには、ブラウザーがサードパーティのcookieとローカルストレージへのアクセスを許可する必要があります。