Server Action

Next.js에서 "use server" 디렉티브로 선언하는 서버 전용 비동기 함수로, 클라이언트 코드에서 직접 호출할 수 있습니다.

핵심 특징

선언 방식

// actions.ts
"use server";

export async function createPost(data: FormData) {
  const title = data.get("title") as string;
  await db.post.create({ data: { title } });
}
// 클라이언트 컴포넌트에서 사용
<form action={createPost}>
  <input name="title" />
  <button type="submit">등록</button>
</form>

핵심 정리

Server Action은 클라이언트-서버 경계를 함수 호출로 추상화해 네트워크 왕복을 줄이고, 서버 로직을 안전하게 캡슐화합니다.

CSLOG에서 보기