Next.js 14 - useFormState(useActionState)

2025. 9. 17. 13:45·♣️ Next.js 14

Next.js 14

 

✅ useFormState(useActionState)


export default function LogIn() {
  const [state, action] = useFormState(handleForm, null);
  return (
    <div className="flex flex-col gap-10 px-6 py-8">
      <div className="flex flex-col gap-2 *:font-medium">
        <h1 className="text-2xl">안녕하세요!</h1>
        <h2 className="text-xl">Log in with email and password.</h2>
      </div>
      <form action={action} className="flex flex-col gap-3">

 

useFormState는 반환값으로 tuple을 주는데, state(action의 return값)와 formAction(server action trigger)이 들어있다.

그리고 useFormState의 인자값으로는 server action과 initialState이 들어간다.

 

form의 action 속성에 기존 server action이 아닌 trigger를 넣어줘야 useFormState에서 제공하는 정보를 받을 수 있다.

 

"use server";

export const handleForm = async (prevState: any, formData: FormData) => {
  console.log(prevState);
  await new Promise((resolve) => setTimeout(resolve, 5000));
  return {
    errors: ["wrong password", "password too short"],
  };
};

 

server action은 첫 번째 인자로 prevState(이전 값)를 받을 수 있다.

 

React v19에서 useFormState의 이름이 useActionState로 변경되었다.

'♣️ Next.js 14' 카테고리의 다른 글

Next.js 14 - Image component  (0) 2025.12.03
Next.js 14 - Middleware, Matcher  (0) 2025.12.03
Next.js 14 - useFormStatus  (0) 2025.09.17
Next.js 14 - Server Action  (0) 2025.09.17
Next.js 14 - api route  (0) 2025.09.17
'♣️ Next.js 14' 카테고리의 다른 글
  • Next.js 14 - Image component
  • Next.js 14 - Middleware, Matcher
  • Next.js 14 - useFormStatus
  • Next.js 14 - Server Action
j2yonghwa
j2yonghwa
Trying to be a fullstack developer 🚀
  • j2yonghwa
    j2yonghwa
    j2yonghwa
  • 전체
    오늘
    어제
    • 분류 전체보기 (156)
      • ⏰ Daily WakaTime (1)
      • 🏖️ 노마드코더 (2)
      • 🍺 Dev Setup (3)
      • 🔭 Tech Info (1)
      • 🚫 Error (1)
      • 📂 라이브러리 (23)
      • ♣️ Next.js 14 (10)
      • ♠️ Next.js 12 (20)
      • 🛸 React Native (12)
      • 🦋 TypeScript (1)
      • 🐍 Python (2)
      • 🌊 TailwindCSS (4)
      • 🧩 SQL (25)
      • 💎 Prisma (5)
      • 🌱 MongoDB (4)
      • 🎯 Redis (1)
      • 🧬 GraphQL (2)
      • 🔥 Firebase (7)
      • 💸 Third-Party Services (2)
      • 🕸️ Web (1)
      • 🏆 코딩테스트 (23)
      • 📙 모딥다 (5)
      • 📗 코테 합격자 되기 -JS- (0)
      • 📘 클린코드 (0)
      • 🍯 꿀팁 🐝 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • 깃헙
  • 공지사항

  • 인기 글

  • 태그

    PostgreSQL
    라이브러리
    next.js 14
    next.js 12
    Python
    tailwindcss
    MySQL
    mongoDB
    코딩테스트 입문
    React Native
    dev setup
    자바스크립트
    react router
    Firebase
    0레벨
    Prisma
    Next.js
    SQL
    API
    모딥다
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
j2yonghwa
Next.js 14 - useFormState(useActionState)
상단으로

티스토리툴바