반응형
Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 |
Tags
- pm2 업데이트 에러
- 웹 퍼포먼스 도구
- d3 지도 툴팁
- reflow
- Learning React
- 헌혈유공패 은장
- 인터넷 거버넌스
- firebase id 자동
- vue composable 함수
- 이미지 성능 최적화
- git
- in-memory pm2 is out-of-date
- vue draggable 차트 안나옴
- component is already mounted please use $fetch instead.
- pm2 버전 충돌
- ToDo
- img 태그 srcset
- cloud firestore id auto increment
- commonjs와 ecmascript modules(esm)
- vue 컴포저블 함수
- nuxt universal rendering
- img 태그 sizes
- $fetch
- d3 지도
- d3 지도 확대/축소
- vue3 drag and drop
- d3 지도 타입스크립트
- repaint
- vuedraggable
- 함수형 프로그래밍
Archives
- Today
- Total
빵 입니다.
리액트의 useState() 훅 렌더링 방식 본문
반응형
❓컴포넌트 함수가 재실행되면 useState()도 계속 재실행되는 거 아닌가?
❓그럼 매번 상태를 초기화하고 다시 렌더링 하는 건가?
❗️NO!!!
React는 처음 useState가 호출될 때 해당 상태 변수를 생성하고 기본값을 사용하여 초기화를 딱 한 번 한다. (해당 변수와 연결된 값이 메모리에 저장된다.)
이때의 초기화는 컴포넌트가 처음 렌더링 될 때만 발생하며, 그 이후로는 해당 상태 변수가 이미 생성되었다면 초기화를 하지 않는다.
이후 렌더링에서는 이전에 생성된 상태 변수를 재사용하고, 값이 변경되어도 새로운 변수를 생성하는 것이 아니라 이전 변수를 업데이트하게 된다.
상태 초기화는 컴포넌트가 DOM에서 완전히 삭제되지 않는 한 (unmount 되지 않는 한) 계속 유지된다. 컴포넌트가 유지되는 동안에는 React가 상태를 초기화하는 것이 아니라 상태를 관리하고 업데이트하는 역할을 수행한다.
반응형
'프론트엔드 > React' 카테고리의 다른 글
| useState() 스케줄링 (0) | 2024.01.05 |
|---|---|
| useCallback() (0) | 2024.01.04 |
| React.memo() (0) | 2024.01.04 |
| forwardRef()와 useImperativeHandle() (0) | 2024.01.03 |
| Hooks의 규칙 (0) | 2023.12.14 |