JS 도착 전에 작동하는 form
action={serverAction} 가진 form 이 JavaScript 돌기 전에 native HTML POST 로 작동. JS hydrate 시 no-refresh submission 으로 enhance. JS 가 완전히 fail 해도 form 여전히 작동.
3 layer, top down
| Layer | 동작 |
|---|---|
| HTML 만 | Native POST → server process → rendered result 로 full reload. |
| + JS | Fetch 통한 submission, reload 없음, layout state 보존. |
| + React | Optimistic UI, pending state, transition. |
이게 진짜 win 인 이유
느린 network, 옛 browser, JS error, framework nuke 하는 ad-blocker — form 이 계속 작동. Server Action 이 traditional React + custom fetch() 한테 없던 progressive enhancement 줘.