일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- State
- 프로그래머스#JAVA
- useState
- batch udpate
- 섬 연결하기
- JS Array Functions
- 리액트 상태값 업데이트
- 프로그래머스
- codility
- heap
- React 훅 사용규칙
- 리액트 성능 최적화
- spread operator
- DB Navigator
- BOJ2042
- DFS
- Modern Javascript
- useContext
- Segment Tree
- 객체지향 설계 5원칙
- react
- Kruskal Algorithm
- rest operator
- useReducer
- 리액트의 작동방식
- Lifting State Up
- Greedy
- MST구현
- java
- state update scheduling
- Today
- Total
개발하는SM
React useEffect ( + Cleanup 함수 ) 본문
useEffect 는 useState 외에 가장 중요한 리액트 훅이다.
따라서 반드시 확실하게 이해하고 넘어가야 한다.
아래와 같이 dependencies 배열 없이 첫번째 인자로 함수만 넘겨줬을 경우,
컴포넌트가 다시 실행될 때마다 해당 함수가 수행된다.
아래 useEffect() 는 모든 컴포넌트 렌더링 주기 이후에 실행되기 때문이다. ( + 컴포넌트가 처음 마운트 된 때 포함 )
그렇다면, 두번째 인자로 빈 배열 Dependencies 를 넘겨줬을 경우는?
해당 Login 컴포넌트가 처음으로 마운트되고 렌더링 될 때만 실행된다.
두번째 인자로 특정 값을 넘겨줬을 경우는?
해당 State 가 변경될 때마다 "EFFECT RUNNING" 로그가 찍힌다.
아래 예시에서는 Password Key Stroke 가 발생할 때마다 찍힘.
useEffect 에서는 함수를 return 할 수 있는데, 이를 CleanUp 함수라고 한다.
이 클린업 함수는 State 함수(아래 스크린샷의 EFFECT RUNNING 로그) 가 전체적으로 실행되기 전에 실행된다.
첫 번째 렌더링 주기의 경우 클린업 함수가 수행되지 않는다.
'Web > Front-End' 카테고리의 다른 글
[React] Hook 사용규칙 (0) | 2023.03.13 |
---|---|
useState() VS useReducer() (0) | 2023.02.20 |
React State - Lifting State Up (0) | 2023.01.09 |
React 입문 (0) | 2023.01.08 |
모던 자바스크립트 문법 (0) | 2023.01.08 |