React 19 Actions

← React 19 기능 목록으로 돌아가기

React 19에서 새롭게 도입된 Actions의 다양한 활용 예제를 살펴보세요.

🚀 Actions란?

  • Server Actions: 서버에서 실행되는 함수로 데이터 변경과 비즈니스 로직 처리
  • Form Actions: 폼과 자동 연동되어 간편한 상태 관리 제공
  • Optimistic Updates: UI를 먼저 업데이트하고 서버 응답을 기다리는 패턴
  • 자동 재검증: Actions 완료 후 관련 데이터 자동 새로고침

Server Actions

완료

서버에서 실행되는 Actions으로 데이터 변경 및 비즈니스 로직 처리

주요 특징:

  • 서버사이드 실행
  • 타입 안전성
  • 자동 재검증
예제 보기 →

Form Actions

완료

폼과 연동된 Actions으로 간편한 상태 관리와 검증

주요 특징:

  • 자동 폼 처리
  • 내장 검증
  • 로딩 상태
예제 보기 →

Optimistic Updates

완료

낙관적 업데이트로 즉각적인 UI 반응과 향상된 사용자 경험

주요 특징:

  • 즉시 UI 반영
  • 에러 롤백
  • UX 최적화
예제 보기 →

💡 Actions의 장점

🔒 보안성

  • • 서버에서 실행되어 민감한 로직 보호
  • • 클라이언트 코드에 비즈니스 로직 노출 방지
  • • 자동 CSRF 보호

⚡ 성능

  • • 번들 크기 감소 (서버 로직 분리)
  • • 자동 캐시 무효화
  • • 스트리밍 응답 지원

🎯 개발자 경험

  • • 타입스크립트 완전 지원
  • • 간단한 폼 처리
  • • 자동 에러 처리

👥 사용자 경험

  • • 즉각적인 UI 반응
  • • 자동 로딩 상태 관리
  • • 오프라인 대응 가능

🛠️ 기본 사용법

// server action 정의 (server component 또는 별도 파일)
'use server'

async function createPost(formData: FormData) {
    const title = formData.get('title') as string;
    // 서버에서 데이터베이스 작업 수행
    await db.post.create({ data: { title } });
    revalidatePath('/posts'); // 관련 페이지 재검증
}

// client component에서 사용
function PostForm() {
    return (
        <form action={createPost}>
            <input name="title" placeholder="제목 입력" />
            <button type="submit">작성</button>
        </form>
    );
}