스크린샷 2026-01-27 오후 9.28.49.png

본 컴포넌트는 Next.js 환경에서 폼 요소(Input, Select, Textarea 등)를 서버에서 안전하게 감싸기 위한 공통 레이아웃 컨테이너를 제공하도록 설계되었습니다.

이벤트 처리나 상태 관리를 포함하지 않으며, 구조적인 역할만 담당하는 순수 UI 컴포넌트이다.


✅ 컴포넌트 구조

파일명 유형 주요 역할
field.tsx Server 폼 요소들을 감싸는 공통 레이아웃 컨테이너

✅ 공통 속성 (FieldProps)

본 컴포넌트는 아래의 타입을 기반으로 하며,

<div>가 지원하는 모든 기본 HTML 속성을 사용할 수 있다.


✅ 사용 예시

1. 일반적인 사용 (Server / Client 공통)

폼 요소를 하나의 필드 단위로 묶는 가장 기본적인 사용 방법이다.

import Field from "@/shared/ui/field";
export default function Page() {
  return (
    <Field className="flex flex-col gap-2">
      <label>이메일</label>
      <input type="email" />
    </Field>
  );
}

2. 접근성 속성 사용 예시