๐Ÿ“šย Reference


๐Ÿ“œย Chapter


Server Component

Server Actions


์˜ˆ์‹œ


์˜ˆ์‹œ 1

// app/page.tsx
import { db } from '@/lib/db';

// ์„œ๋ฒ„ ์ปดํฌ๋„ŒํŠธ
export default function Page() {
  async function createPost(formData: FormData) {
    'use server'; // <--- ์„œ๋ฒ„ ์•ก์…˜ ์ง€์‹œ๋ฌธ

    const title = formData.get('title');
    const content = formData.get('content');
    
    // DB์— ๋ฐ์ดํ„ฐ ์ €์žฅ
    await db.post.create({
      data: { title, content },
    });
  }

  return (
    <form action={createPost}>
      <input type="text" name="title" />
      <textarea name="content"></textarea>
      <button type="submit">๊ฒŒ์‹œ</button>
    </form>
  );
}