๐ย Reference
๐ย Chapter
โฃ
"use server" ํจ์๋ก, ์ปดํฌ๋ํธ์์ ์ง์ ํธ์ถ๋๋ ์๋ฒ์ธก ๋ฎคํ
์ด์
/๋ก์ง. ํผ/๋ฒํผ์์ ์ง์ ์๋ฒ๋ก ํธ์ถํ๊ณ , ํธ์ถ ํ ๊ฒฝ๋ก/ํ๊ทธ ์ฌ๊ฒ์ฆ(revalidate)๊น์ง ํ ๋ฒ์.'use server' ์ง์๋ฌธ์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ค.form ํ๊ทธ์ action ์์ฑ์ ํ์ฉํด ํผ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ฒ ์ฒ๋ฆฌํ ์ ์๋ค.form ์ ์ถ ์ createPost ํจ์๊ฐ ์๋ฒ์์ ์์ ํ๊ฒ ์คํ๋๋๋ก ํ๋ค.// 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>
);
}