-
Notifications
You must be signed in to change notification settings - Fork 0
yyyerimm1126 edited this page Dec 4, 2025
·
12 revisions
- 회원가입 페이지 구현하기
-
<input>태그 사용 (type="text",type="password")
<input
id="userId"
type="text"
placeholder="아이디를 입력해주세요."
className={styles.input}
value={userId}
onChange={(e) => setUserId(e.target.value)}
/>-
<input type="radio">를 사용해 남성 / 여성 / 비공개 중 하나만 선택 가능 -
모든 라디오 버튼은
name="gender"로 동일해야 하나만 선택됨
<fieldset className={styles.field}>
<legend>성별</legend>
<label><input type="radio" name="gender" value="male" />남성</label>
<label><input type="radio" name="gender" value="female" />여성</label>
<label><input type="radio" name="gender" value="secret" />비공개</label>
</fieldset>-
<select>태그와<option>으로 구성 -
2004, 2005, 2006 세 가지 중 하나 선택 가능
<select
id="birthYear"
value={birthYear}
onChange={(e) => setBirthYear(e.target.value as any)}
>
<option value="">선택해주세요</option>
<option value="2004">2004</option>
<option value="2005">2005</option>
<option value="2006">2006</option>
</select>🔹 **useState()**는 React에서 컴포넌트 내부의 상태(state) 를 관리하기 위한 Hook임.
사용자의 행동(클릭, 입력 등)에 따라 값이 바뀌면, React가 자동으로 UI를 다시 렌더링함.
const [state, setState] = useState(initialValue);| 구성요소 | 설명 |
|---|---|
| state | 현재 상태값 (변수처럼 사용) |
| setState | 상태를 변경하는 함수 |
| initialValue | 상태의 초기값 (문자열, 숫자, 배열, 객체 등 가능) |
-
count의 초기값은0이다. - 사용자가 버튼을 클릭하면
setCount()가 실행되어 값이 변경됨. - 상태값이 바뀌면 React가 자동으로 UI를 다시 렌더링함.
-
직접 변수 값을 수정하면 화면이 갱신되지 않음!!
count = 5;
-
반드시
setState()함수를 사용해야 함.setCount(5); // React가 자동으로 UI 업데이트
| 상황 | 선언 예시 | 초기값 |
|---|---|---|
| 텍스트 입력 관리 | const [name, setName] = useState('') |
빈 문자열 |
| 체크박스 상태 | const [checked, setChecked] = useState(false) |
false |
| 리스트 데이터 | const [items, setItems] = useState([]) |
빈 배열 |
| API 데이터 로드 | const [data, setData] = useState(null) |
null |
-
API 연동 준비
-
백엔드와 연동하려면 같은 속성 이름으로 변경해야함
| 항목 | 상태 선언 예시 | 초기값 |
|---|---|---|
| 이름 | const [username, setUsername] = useState('') |
빈 문자열 |
| 비밀번호 | const [password, setPassword] = useState('') |
빈 문자열 |
| 아이디 | const [loginId, setLoginId] = useState('') |
빈 문자열 |
| 성별 | const [gender, setGender] = useState('') |
빈 문자열 |
| 생일 | const [birthDate, setBirthDate] = useState('') |
빈 문자열 |
| 전화번호 | const [phoneNumber, setPhoneNumber] = useState('') |
빈 문자열 |
| 인증 상태 | const [verified, setVerified] = useState(false) |
false |