revalidatePath
revalidatePath
允許您針對特定路徑依需求清除 快取的資料。
注意事項:
revalidatePath
在 Node.js 和 Edge 執行環境 中皆可用。revalidatePath
僅在下一次存取包含的路徑時才會失效快取。這表示使用動態路由區段呼叫revalidatePath
不會立即觸發多個重新驗證。失效僅在下一次存取路徑時才會發生。- 目前,
revalidatePath
會使 客戶端路由器快取 中的所有路由失效。此行為是暫時的,將來會更新為僅套用於特定路徑。- 使用
revalidatePath
只會使 伺服器端路由快取 中的**特定路徑**失效。
參數
revalidatePath(path: string, type?: 'page' | 'layout'): void;
path
:表示與您要重新驗證的數據關聯的檔案系統路徑的字串(例如/product/[slug]/page
),或實際路由區段(例如/product/123
)。長度必須少於 1024 個字元。此值區分大小寫。type
:(選用)字串'page'
或'layout'
,用於更改要重新驗證的路徑類型。如果path
包含動態區段(例如/product/[slug]/page
),則此參數為必需。如果路徑指的是實際路由區段,例如動態頁面(例如/product/[slug]/page
)的/product/1
,則不應提供type
。
回傳值
這將在下次瀏覽頁面時重新驗證一個特定網址。
重新驗證頁面路徑 import { revalidatePath } from 'next/cache'
revalidatePath('/blog/[slug]', 'page')
// or with route groups
revalidatePath('/(main)/blog/[slug]', 'page')
import { revalidatePath } from 'next/cache'
revalidatePath('/blog/[slug]', 'page')
// or with route groups
revalidatePath('/(main)/blog/[slug]', 'page')