728x90
320x100
seEffect() 란?
컴포넌트가 렌더링 될 때 특정 작업을 한번만 실행하거나 의존성 배열이 있는경우 변경이 될때마다 실행을 도와주는 훅 입니다.
useEffect(function, deps)
import React, { useEffect } from "react"; //import하기
useEffect(() => {
},[]);
파라미터 설명
function: 실행하고자 하는 함수(콜백함수)
deps: 배열형태, function을 실행시킬 조건이다. 크게 세가지 경우로 나뉜다.
- deps에 특정값을 넣는경우: 컴포넌트가 mount 될 때 + deps 값이 업데이트될 때 useEffect를 실행한다.
- 빈 배열일 경우: useEffect 에 등록한 함수가 실행 될 때 최신 props / 상태를 가르키지 않게 된다. 렌더링되고 한번만 호출이 된다.
- deps 파라미터를 생략 할 경우: 컴포넌트가 리렌더링 될 때마다 호출이 된다.
Clean Up 함수
useEffect는 함수를 반환할 수 있는데 이 함수를 cleanup이라고 한다.
useEffect(() => {
return () => { // 클린업 함수
};
},[]);
Unmount 될 때만 cleanup 함수를 실행시키고 싶다면 deps에 빈 배열을,
특정 값이 업데이트되기 직전에 cleanup 함수를 실행시키고 싶다면 deps에 해당 값을 넣어주면 된다.
[도움이 되는 사이트]
벨로퍼트와 함께하는 모던 리액트 (https://react.vlpt.us/basic/16-useEffect.html)
useEffect 완벽 가이드(https://www.rinae.dev/posts/a-complete-guide-to-useeffect-ko)
(유튜브)useEffect 깔끔하게 마스터하기(https://www.youtube.com/watch?v=kyodvzc5GHU&t=396s)
728x90
320x100
'front-end > React' 카테고리의 다른 글
[React] Hook: useReducer (0) | 2022.08.16 |
---|---|
[React]Hook: useMemo()와 useCallback() / React.memo() (0) | 2022.08.16 |
Json-server 사용하기 (REST API 구축 라이브러리) (0) | 2022.06.15 |
[React]git hub배포하기 (0) | 2022.05.28 |
[React] 천단위마다 쉼표 넣는 방법 (0) | 2022.05.23 |
댓글