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。