Menu

refresh

refreshを使用して、Server Action内からクライアントルーターをリフレッシュできます。

使用方法

refreshServer Action内でのみ呼び出せます。Route Handlers、Client Components、またはその他のコンテキストでは使用できません。

パラメータ

refresh(): void;

戻り値

refreshは値を返しません。

app/actions.ts
TypeScript
'use server'
 
import { refresh } from 'next/cache'
import { redirect } from 'next/navigation'
 
export async function createPost(formData: FormData) {
  const title = formData.get('title')
  const content = formData.get('content')
 
  // データベースにポストを作成します
  const post = await db.post.create({
    data: { title, content },
  })
 
  refresh()
}

Server Actions外での使用時のエラー

app/api/posts/route.ts
TypeScript
import { refresh } from 'next/cache'
 
export async function POST() {
  // これはエラーをスローします
  refresh()
}