Skip to content

Next.js Server Actions(服务器函数)

在服务端执行表单处理、数据写入的函数,无需单独创建 API Route。

用法

tsx
// app/actions.ts
'use server'

export async function createUser(formData: FormData) {
  const name = formData.get('name')
  await db.user.create({ data: { name } })
  revalidatePath('/users')
}
tsx
// 组件中直接调用
'use client'
import { createUser } from './actions'

<form action={createUser}>
  <input name="name" />
  <button type="submit">创建</button>
</form>

也可以用 startTransition 在非表单场景调用 Server Action。