useEffect라는 Hook을 사용하여 컴포넌트가 마운트되거나 언마운트 됐을때, 또 업데이트가 되었을때 특정 작업을 처리하는 방법에 대해 알아보자
마운트 / 언마운트
useEffect(() => {
console.log('컴포넌트가 화면에 나타남');
return () => {
console.log('컴포넌트가 화면에서 사라짐');
};
}, []);
useEffect를 사용 할 때에는 첫번째 파라미터에는 함수, 두번째 파라미터에는 deps를 넣는다. 만약 deps를 위와같이 비워두게 되면 처음 마운트 됐을때만 호출된다.
useEffect에서는 함수를 반환 할 수 있는데 이름 cleanup 함수라고 부른다. 후처리라고 생각하면 편하다.
deps 에 특정 값 넣기
useEffect(() => {
console.log('user 값이 설정됨');
console.log(user);
return () => {
console.log('user 가 바뀌기 전..');
console.log(user);
};
}, [user]);
deps에 특정 값을 넣게 되면 마운트가 될 때도 호출하고 지정한 값이 변경될 때도 호출한다.
위에처럼 deps에 user를 지정하게 되면 user에 값이 변경될때마다 함수가 실행된다.
deps 파라미터 생략하기
useEffect(() => {
console.log(user);
});
deps에 값을 생략 할 수 있다. 생략을 하게되면 컴포넌트가 리렌더링 될 때마다 호출하게 된다.
'React' 카테고리의 다른 글
React의 개념과 장점, 그리고 컴포넌트란 무엇인가요? (0) | 2022.07.01 |
---|---|
리덕스 ( REDUX ) 란? (0) | 2022.03.29 |
왜 React를 사용하는가 (0) | 2022.03.23 |
useCallback을 사용하여 함수 재사용하기 (0) | 2022.03.14 |
useMemo를 사용하여 연산한 값 재사용하기 (0) | 2022.03.14 |