일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
31 |
- 직장인인강
- #패스트캠퍼스 #패캠챌린지 #직장인인강 #직장인자기계발 #패스트캠퍼스후기 #한번에끝내는Node.js웹프로그래밍초격차패키
- 패스트캠퍼스 후기
- react-redux
- Redux
- 직장인 자기계발
- 줄바꿈 방지
- 리액트리덕스
- 해시태그 구현
- useRef
- 패스트캠퍼스 #패캠챌린지 #직장인인강 #직장인자기계발 #패스트캠퍼스후기 #한번에끝내는Node.js웹프로그래밍초격차패키지
- 패캠챌린지
- 리액트
- Object에 변수 지정
- event.keycode
- keyCode == 13
- 자동 높이 조절
- 패스트캠퍼스
- 한번에끝내는Node.js웹프로그래밍초격차패키지
- 패스트캠퍼스후기
- 해시태그
- #패스트캠퍼스 #패캠챌린지 #직장인인강 #직장인자기계발 #패스트캠퍼스후기 #한번에끝내는Node.js웹프로그래밍초격차패키지
- objectid
- keycode ==8
- React
- 몽구스 쿼리
- object
- 한번에끝내는
- mongoose query
- 직장인자기계발
- Today
- Total
꾸준한프로그래밍
패스트캠퍼스 챌린지 26 일차 - useEffect 본문
0. 공부 인증
공부 시작 23 : 14
공부 종료 23 : 45
그럼 20000...
학교 과제하러 다시...갑니다😰😰
1. useEffect의 마운트와 언마운트
useEffcect의 공식 문서
https://ko.reactjs.org/docs/hooks-effect.html
Using the Effect Hook – React
A JavaScript library for building user interfaces
ko.reactjs.org
componentDidMount, componentDidUpdate의 기능을 하는 것임.
자동으로 시간에 따라서 카운트 되는 코드
const [second, setSecond] = useState(0);
setInterval(() => {
setSecond(second + 1)
}, 1000)
return ({second})
-> 그런데 이렇게 하면, 매우 이상하게 작동함.
-> 왜그러냐면, 우선 JSX가 계속 업데이트 되면서 컴포넌트가 재마운트 됨.
(그러면 인터벌 함수를 계속 실행하게 됨)
-> 즉, 기존의 실행되고 있는 함수에 의해 0 1 2 3 4 5...
두번 째 함수도 0 1 2 3 4....
여러번 겹쳐서 실행이 됨.
-> 그래서 이런 문제를 피하기 위해서 useEffect를 사용함.
useEffect() 는 마운트 이후에 실행이 됨.
useEffect(()=> {}, []) 두번째 변수에 deps를 넣어주면 됨.
근데 useEffect(() => { ~~ }, [second]) 가 되면 위의 함수와 똑같이 이상한 출력이 됨 (동일 이유)
그러나 이것또한 해결할 수 있음.
useEffect 뒤에 unmount 함수를 넣어줄 수 있음.
그래서 unmount 시에 인터벌을 해제 시킬 수 있음
const [second, setSecond] = useState(0);
~~~
useEffect(() => {
let interval = setInterval(() => {
setSecond(second + 1)
}, 1000)
return () => {
clearInterval(interval)
}
},[second])
return (~{second}~)
예를 들자면, 백엔드 통신이 포함된 기능에서는,
JSX 컴포넌트가 변결 될때마다,
재마운트 되어 요청을 여러번 보낼 수도 있음
-> 그래서 mount와 unmount에서 그런 중복 처리를 방지.
-> unmount가 되는 함수를 클린업이라고 함.
환급 챌린지 (26/30)
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.
패스트캠퍼스 [직장인 실무교육]
프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.
fastcampus.co.kr
#패스트캠퍼스 #패캠챌린지 #직장인인강 #직장인자기계발 #패스트캠퍼스후기 #한번에끝내는Node.js웹프로그래밍초격차패키지
'백엔드' 카테고리의 다른 글
패스트캠퍼스 챌린지 28 일차 - 리액트로 만드는 퀴즈 사이트02 (0) | 2021.10.03 |
---|---|
패스트캠퍼스 챌린지 27 일차 - 리액트로 만드는 퀴즈 사이트01 (0) | 2021.10.02 |
패스트캠퍼스 챌린지 25 일차 - 상태 관리와 useRef (0) | 2021.09.30 |
패스트캠퍼스 챌린지 24일차 - 리액트 빌드하기 (0) | 2021.09.29 |
패스트캠퍼스 챌린지 23일차 - 리액트의 생성과 빌드 (0) | 2021.09.28 |