1. useRef 기능 (1)
: ref를 사용하여 특정 DOM 선택하기 !
EX) 초기화 버튼 누르고 난 후, 커서가 이름 입력칸으로 포커스 되도록 기능 구현
Ref 객체 만들기 -> 원하는 DOM에 ref값 설정 -> 실행 순서!!
2. 배열 렌더링하기
# 고정적인 배열 렌더링
# 동적인 배열 렌더링
-> map() 함수 사용 !
++++++++++
key(고유 식별값) props 설정
만약 고유값이 없다면, index를 key로 사용 !
수정되지 않는 기존의 값은 그대로 두고 원하는 곳에 내용을 삽입하거나 삭제하기 때문에
key 는 꼭꼭 필요하다 !!!
3. useRef 기능 (2)
: 변수를 관리 & 설정 후 바로 조회 O
/
값이 바뀌어도 컴포넌트가 리렌더링 되지 않음
EX) 배열에 새 항목을 추가할 때, 새 항목에서 사용할 고유 id 관리
->
nextId 변수
● useRef(기본값)
● .current : 값 조회
● .current = 10 : 값 수정
4. 배열에 항목 추가하기
**불변성 지키기**
(1) spread 연산자 사용(...배열이름)
EX) ...inputs
(2) concat 함수 사용 (배열이름.concat(이어붙이고 싶은 배열))
EX) setUsers(users.concat(user))
5. 배열에 항목 삭제하기
**마찬가지로 불변성 지키기**
=>> onRemove 함수 구현
● 지울 id 받기
● 지울 id가 아닌 것들 모아서 새로 목록 만듬 (filter)
6. 배열에 항목 수정하기
EX) 계정명 클릭했을때 색상 바뀌게
(1) active 속성 추가
(2) UserList 컴포넌트 안에 style cursor: 'pointer' 추가
(3) onToggle 함수 구현 - 사용자의 id를 받아 active 값 반전시키기
● map 함수 : 배열의 불변성 유지 & 배열을 업데이트
● user.id가 전달받은 id와 같으면, 해당 사용자의 active 값 반전시킴
● 다르면, 해당 사용자는 그대로 둠
=>
UserList 컴포넌트에 onToggle 전달
7. 마운트 / 언마운트
● 마운트 => 컴포넌트가 처음 DOM에 나타날 때
props로 받은 값 저장
인터넷에 정보 요청
라이브러리 사용
setInterval (반복작업) 또는 setTimeout (작업예약)
...
이런 일들을 한다
● 언마운트 => 컴포넌트가 DOM에서 사라질 때
setInterval, setTimeout 멈추기 (clearInterval, clearTimeout)
라이브러리 정리하기
....
함수 useEffect 사용 !
첫번째 파라미터에는 함수, 두번째 파라미터에는 배열 (deps) 넣기
만약, 위 사진처럼 빈 배열 [ ] 을 넣으면
마운트 시 한 번만 실행됨
and
cleanup 함수 호출됨 (= useEffect 뒷정리)
이 배열(deps)안에 특정 값을 넣으면 마운트가 될 때, 값이 바뀔 때 실행됨
생략하면 화면이 바뀔 때마다 계속 실행됨
그래서 특정 값을 넣는 것이 기본! 이라고 합니다 ~
오랜만이라 이전 내용 기억이 안 나서 계속 찾아봣다는,, 수고하셧습니다
'WINK-(Web & App) > React.js 스터디' 카테고리의 다른 글
[2025 1학기 React.js 스터디] 이종민 #4주차 (0) | 2025.05.08 |
---|---|
[2025 1학기 React.js 스터디] 정채은 #4주차 (0) | 2025.05.08 |
[2025 1학기 React.js 스터디] 최은희 #4주차 (0) | 2025.05.08 |
[2025 1학기 React.js 스터디] 이가인 #4주차 (0) | 2025.05.08 |
[2025 1학기 React.js 스터디] 한혜민 #4주차 (0) | 2025.05.08 |