
함수는 async 함수로 정의되어야 하고 "use server" 지시어를 사용해아한다. 별도의 파일을 이용하여 export하고 잇다면 파일 맨 위에 정의하면 될 것이고 컴포넌트 안에서 정의했다면 함수 안에 "use server"를 함수 body 맨 위에 작성하라
클라이언트 컴포넌트에서 server action을 사용하기 위해서는 오직 import actions으로 할 수 있다.
Server Action을 클라이언트 컴포넌트에서 콜하기 위해서 "use server"를 맨 위에 직접 추가한 파일을 만든다.
Prop으로 클라이언트 컴포넌트에서 server actions을 넘길 수 있다.
action 속성을 이용해 호출될 수 있다.// Server Component
export default function Page() {
// Server Action
async function create() {
'use server'
// ...
}
return (
// ...
)
}
완전 편하다. endpoint 주소를 만들 필요가 없어서
1.개발시간이 단축되었고 2.백의 규모가 워낙 작다보니 나름 보기 깔끔하다.
현실 지금 db에 넣다뺐다만 이해했는데 다만 백을 고도화하려고 할때 어떻게 활용해야할지는 잘 모르겠음
php 처럼 코드가 더러워진다는 비난 의견을 보았는데 토이프로젝트에서는 체감이 안되었고 편해서 사용하기 편했다.

출처:https://www.youtube.com/watch?v=C5NnVfbNpq8

custom server