Skip to content
You are currently viewing the Beta version of the documentation.

refresh

refresh allows you to refresh the client router from within a Server Action.

Usage

refresh can only be called from within Server Actions. It cannot be used in Route Handlers, Client Components, or any other context.

Parameters

refresh(): void;

Returns

refresh does not return a value.

Examples

app/actions.ts
'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')
 
  // Create the post in your database
  const post = await db.post.create({
    data: { title, content },
  })
 
  refresh()
}

Error when used outside Server Actions

app/api/posts/route.ts
import { refresh } from 'next/cache'
 
export async function POST() {
  // This will throw an error
  refresh()
}