serverActions
서버에서 실행되는 비동기 함수
- 서버컴포넌트에 비동기 함수를 작성, 함수 본문에 'use server'를 작성한다.
- 클라이언트 컴포넌트에서는 서버액션 함수 작성불가, module로 작성 된 서버액션 함수를 import해서 사용
server action 함수 사용하는 곳
- form 태그 action prop
- formAction prop
- useTransition() 훅에서 제공하는 startTransition과 사용 (suspense 폴백의 깜박임 없이 비동기로 데이터를 받아서 처리 가능)
form 요소내에 <button>, <input type="submit">, <input type="image"> 이렇게 3가지 요소에만 formAction prop 을 허용한다.
서버 액션이 어떻게 작동하는가?
빌드단계에서 서버액션마다 고유한 40자인 랜덤한 문자열이 생긴다. Request header에 Next-Action 헤더속성에 실어 보낸다.
요청시 Next-Action 헤더가 존재하면 서버에서 서버액션 함수를 실행시켜주고 응답한다.
참고
https://medium.com/@zero86/next-js-server-action-e2e6356a58a0
'NOTE' 카테고리의 다른 글
[Next + React Query로 SNS 서비스 만들기] 섹션 3-2 정리 (react-query, Suspense) (0) | 2024.08.24 |
---|---|
[Next + React Query로 SNS 서비스 만들기] 섹션 3-1 정리 (msw, server-action, next-auth) (0) | 2024.08.24 |
[Next + React Query로 SNS 서비스 만들기] 섹션 2 정리 (0) | 2024.08.05 |
[Next + React Query로 SNS 서비스 만들기] 섹션 1 정리 (0) | 2024.07.21 |
[Next + React Query로 SNS 서비스 만들기] 섹션 0정리 (0) | 2024.07.21 |