revalidatePath
revalidatePath
允许你按需清除特定路径的 缓存数据。
值得注意的是:
revalidatePath
在 Node.js 和 Edge 运行时 中都可用。
revalidatePath
只在下次访问指定路径时才会使缓存失效。这意味着对动态路由段调用 revalidatePath
不会立即触发多次重新验证。重新验证只会在下次访问该路径时发生。
- 目前,
revalidatePath
会使 客户端路由缓存 中的所有路由失效。这种行为是暂时的,未来将更新为只应用于特定路径。
- 使用
revalidatePath
仅会使 服务器端路由缓存 中的特定路径失效。
path
:表示要重新验证的数据关联的文件系统路径的字符串 (例如,/product/[slug]/page
),或字面路由段 (例如,/product/123
)。必须少于 1024 个字符。此值区分大小写。
type
:(可选) 'page'
或 'layout'
字符串,用于更改要重新验证的路径类型。如果 path
包含动态段 (例如,/product/[slug]/page
),则此参数是必需的。如果 path 指的是字面路由段,例如动态页面 (如 /product/[slug]/page
) 的 /product/1
,则不应提供 type
。
revalidatePath
不返回值。
这将在下次页面访问时重新验证一个特定的 URL。
这将在下次页面访问时重新验证与提供的 page
文件匹配的任何 URL。这不会使特定页面下的页面失效。例如,/blog/[slug]
不会使 /blog/[slug]/[author]
失效。
这将在下次页面访问时重新验证与提供的 layout
文件匹配的任何 URL。这将导致具有相同布局的下层页面在下次访问时重新验证。例如,在上述情况下,/blog/[slug]/[another]
也会在下次访问时重新验证。
这将清除客户端路由缓存,并在下次页面访问时重新验证数据缓存。