Frontend/React
[React] Props, Event, State
sol_git
2024. 12. 19. 10:00
1. Props
- Props (Properties) : 속성 - 컴포넌트에 원하는 값을 넘겨줄 때 사용하는 변수
1-1. Props 예시 1
기존 하드코딩 방식
변경 성공적 ✨
1-2. Props 예시 2
기존 하드코딩 방식
1-3. Props 예시 심화
- Nav 태그 값을 유연하게 변경할 수 있도록 바꿔보자!
기존 하드코딩 방식
- 막간을 이용한 오류 일기 😉
자동으로 태그를 생성하는 방식을 사용할 때는, React가 추적하기 위해 중복되지 않는 unique key 값을 넣어주라는 의미
2. Event
2-1. Event 예시 1
- Header 클릭 시 Alert 을 띄워보자!
- event.preventDefault(); : 적용된 태그의 기본 동작 방지 (a 태그일 경우, 페이지 Re-load 방지)
2-2. Event 예시 심화
- Nav 태그 각각에 alert 이벤트를 거는데, 내용을 다르게 바꾸고 싶을 때!
- id 값을 넘길 수 있도록, a 태그에 id 속성을 넣어주기 → `event.target.id` 로 값을 넘겨주면 됨!
- event.target이란?
- 이벤트가 발생한 대상 객체를 가져오는 Web API
- event.target이란?
3. State
3-1. 개념
- Props : 컴포넌트의 외부자를 위한 데이터
- State : 컴포넌트의 내부에서 사용하기 위한 데이터
3-2. 실습
- `Header`와 `Nav`를 클릭할 때마다, 하단 `Article` 내용을 변경해보자!
- 이 코드의 문제점
- 이벤트에 연결은 해뒀지만, 클릭한다고 해서 `App()` 이 재실행 되지 않음 ⇒ 실패 😥
이럴 때 필요한게 `State` !!!
- `React` 에 내장된 `useState` 를 import 하기!
- `useState` 는 배열이 반환되는데, [0]은 값, [1]는 함수 임
3-3. 추가 실습
- `Nav` 마다 출력되는 내용을 State로 변경하기
- 막간을 이용한 오류 일기