STUDY/React
[React Hooks] useEffect( )
킵코
2021. 10. 8. 10:00
useRef( )에 이어서 useEffect( )를 공부해보자 😀
useEffect()는 class형 컴포넌트에서 컴포넌트 생명주기 메서드인 componentDidMount, componentDidUpdate를 합친 형태다.
컴포넌트 생명주기..? 너무 어려운 말이다 공식 홈페이지 설명을 보자.
Component Lifecycles
useEffect 사용하기
import { useEffect } from "react" //useEffect 불러오기
useEffect의 기본 형태
useEffect(()=>{컴포넌트가 마운트 된 후 실행 시킬 함수},[의존성 배열])
useEffect는 컴포넌트가 마운트 되고 나서 처음 한번 실행된다.
// componentDidMount와 동일
useEffect(() => {
console.log('컴포넌트 마운트 완료')
}, [])
특정 값이 업데이트 될 때 실행시키고 싶다면 의존성 배열안에 값을 넣어주면 된다.
// componentDidUpdate와 동일
useEffect(() => {
console.log('컴포넌트 수정 완료')
}, [count]);
// 처음은 무조건 실행 다음에는 의존성 배열에 의해 재실행. count가 바뀌면 실행
마지막으로 컴포넌트가 언마운트 될 때 실행 되는 clean up 함수가 있다.
// componentDidMount 와 동일
useEffect(() => {
console.log("컴포넌트 마운트 완료!!");
inputRef.current.focus();
// componentWillUnmount 와 동일
return () => {
console.log("잘가요~~");
};
}, []);
return 뒤에 나오는 함수는 컴포넌트가 사라질 때 실행 된다.
의존성 배열에 값을 넣으면 컴포넌트가 마운트될 때, 업데이트 될 때, 언마운트 될 때 모두 호출된다.
정말 간단한 개념만 설명을 했는데 아직 완벽하게 useEffect를 이해하지 못했기 때문이다.. 🥲
열심히 검색을 하다가 useEffect설명이 잘 된 글을 발견해서 공유합니당..👇
https://rinae.dev/posts/a-complete-guide-to-useeffect-ko
...keepcoing