티스토리 뷰

React

[리액트] 라이프 사이클

fromslow 2021. 6. 12. 16:09

컴포넌트는  다음과 같이 생명주기를 가지고 있다.

 

 




1. componentDidMount: 컴포넌트가 최초로 렌더링 된 후 호출되는 함수(생성)

 

componentDidMount는 render가 되고 나서 실행된다.

componentDidMount는 주로 비동기 요청을 할 때 사용한다.

 

컴포넌트가 생성되면 아래와 같이 차례로 실행된다.

1) constructor: 클래스가 생성될 때 호출되는 생성자 함수
2) render: 화면에 컴포넌트를 표시하는 함수
3) componentDidMount: render가 되고 나서 실행되는 함수


 

 

 

2. shouldComponentUpdate: 조건에 따라 렌더링을 막을 수 있는 함수, 성능 최적화에 유용

true이면 렌더링 되고 false이면 렌더링이 되지 않는다.

 

 

 


3. componentDidUpdate : 컴포넌트가 업데이트 되고나서 호출되는 함수


setState > component 업데이트 > 리렌더링 > componentDidUpdate 

 

 

 



4. componentWillUnmount: 컴포넌트가 제거될 때 호출되는 함수(소멸)


-componentDidMount에서 했던 동작을 제거하기 직전에 일어나는 동작이다. 
-여기서는 비동기 요청 정리를 많이 한다.
-예를 들어 비동기 요청(ex.setInterval)을 했을 때,
이 요청을 제거해주지 않으면 계속 돌아간다.(메모리 누수 발생)
이 문제를 해결하기 위해 componentWillUnmount에서 이를 정리해 주어야한다.
 
-componentDidMount와 componentWillUnmount는 항상 짝이다.

 

 

 

 

 

'React' 카테고리의 다른 글

[리액트] React Hooks - useState, useEffect  (0) 2021.07.04
[리액트] map, filter, key, concat, 삼항연산자  (0) 2021.06.12
[리액트] props, state  (0) 2021.06.11
[리액트] JSX  (0) 2021.06.11
[리액트] 프로젝트 배포  (0) 2021.06.11
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
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
글 보관함