Salangdung_i의 기록

쉽게 정리한 React Lifecycle method(라이프사이클 메서드) 본문

WEB FRONT END/React

쉽게 정리한 React Lifecycle method(라이프사이클 메서드)

Salangdung_i 2022. 2. 9. 11:45
728x90

라이프 사이클 메소드

컴포넌트의 수명은 페이지에 랜더링 되기전인 준비과정에서 시작하여 페이지에서 사라질때 끝난다. 라이프사이클은 3가지의 과정을 거치는데 먼저 페이지에 컴포넌트가 나타나는 '마운트' , 컴포넌트 정보를 업데이트하는 '업데이트'(이 과정을 리랜더링이라한다.) 이후 페이지에서 컴포넌트가 사라지는 '언마운트' 과정이다.  

 

라이프 사이클 3가지 

마운트 : DOM이 생성되고 웹 브라우저에 나타나는 것을 마운트라고 한다. 

업데이트 : 컴포넌트는 4가지 경우에 업데이트 된다. 

1. props가 바뀔 때 
2. state가 바뀔 때
3. 부모 컴포넌트가 리랜더링 될 때
4. this.forceUpdate로 강제로 랜더링을 트리거 할 때

 

언마운트 : 컴포넌트를 DOM에서 제거하는 것이다. 


마운트할 때 호출하는 메서드 

 

consturctor : 컴포넌트를 새로만들때 마다 호출되는 클래스 생성자 메서드이다. 

getDerivedStateFromProps : props에 있는 값을 state에 넣을때 사용하는 메서드이다. 

함수의 의미가 직관적으로 와닿지 않아서 좀 헷갈렸다. 
derived : 파생된의 의미로 
getDerivedStateFromProps : props에서 state가 파생된다. 
즉, props에 있는 값을 state에 넣을때 사용한다.로 외웠다. 

render : 준비한 UI를 랜더링하는 메서드이다.

componentDidMount : 컴포넌트가 웹 브라우저 상에 나타난 후 호출되는 메서드이다.


 

업데이트 할때 호출하는 메서드

getDerivedStateFromProps : 이 메서드는 마운트 과정에서도 호출되며, 엡데이트가 시작하기 전에도 호출된다. props의 변화에 따라 state 값에도 변화를 주고 싶을 때 사용한다. 

shouldCompoentUpdate : 컴포넌트가 리랜더링을 해야할지 말아야한지 결정하는 메서드이다. true를 반환하면 다음 라이프사이클 메서드를 계속 실행하고, false를 반환하면 작업을 중지합니다.

🙋‍♀️잠깐 shouldCompoentUpdate에서 true 또는 false를 구분하는 기준을 뭐죠? 

getSnapshotBeforeUpdate : 컴포넌트 변화를 DOM에 반영하기 바로 직전에 호출되는 메서드이다.

componentDidUpdate : 컴포넌트의 업데이트 작업이 끝난 후 호출되는 메서드이다. 


 

언마운트할 때 호출하는 메서드

componentWillUnmount : 컴포넌트가 웹 브라우저상에서 사라지기 전에 호출하는 메서드이다. 

 

 

 


리액트를 공부하면서 라이프사이클의 과정과 메소드의 기능들이 잘 익혀지지 않아서 정리를 하며 공부를 해보았다. 다음편에는 라이프사이클 메서드를 정리해서 포스팅 할 것이다.

참고  http://www.yes24.com/Product/Goods/78233628?Acode=101 

 

리액트를 다루는 기술 - YES24

리액트 베스트셀러 1위, 본문과 소스 전면 업그레이드기본기를 꼼꼼하게! 실전에서 효과적으로 활용하는 방법까지 알차게 배우자『리액트를 다루는 기술』(개정판)은 리액트 16.8 버전에 Hooks라

www.yes24.com

 

"Icon made by Pixel perfect from www.flaticon.com"

728x90

'WEB FRONT END > React' 카테고리의 다른 글

[기술면접] Lifecycle Method  (0) 2022.04.10
[기술면접] : useMemo와 useCallback  (0) 2022.04.10
[기술면접] Virtual DOM?  (0) 2022.03.30
React Hooks  (0) 2022.03.17
라이프사이클 메서드  (0) 2022.02.10