react- 라이프사이클

BackEnd_Ash.log·2020년 4월 8일
0

패캠리액트

목록 보기
3/3

안드로이드에서 라이프사이클이 존재했었는데 ,
리액트에서도 라이프사이클이 존재한다.
라이프사이클 종류는 굉장히 많은데 그 중에서
라이프사이클을 볼때 주목해야할것이

  1. 나타날때 ( Mounting )
  2. 업데이트 될때 ( Updating )
  3. 사라질 때 ( Unmounting )
    입니다.

만약에 그외에 필요한 것이 있다면 그때 마다 검색을 하면서 해서 구현하면 될것 같습니다.

Mounting

  • constructor
    생성자 함수입니다.
    만든 컴포넌트가 처음 브라우저에 나타나게 될때
    가장 먼저 실행되는 함수입니다.

  • getDerivedStateFromProps
    state 로 받은값을 그대로 동기화 해주고 싶을때

  • render
    어떠한 dom 을 만들게 될지 ,
    내부에 있는 태그들은 어떠한 값을 전달해주게 될지를 결정함

  • componentDidMount
    conponent 가 브라우저상에 나타나게 되면 componentDidMount 가 호출이 됩니다.
    주로 외부라이브러리를 사용하게 될때 사용합니다.

Updating

  • shouldComponentUpdate
    컴포넌트가 업데이트되는 성능을 최적화 시키고 싶을때 사용하게 됩니다.
    부모컴포넌트가 랜더링 되면 그 자식컴포넌트도 다 랜더링 되게 됩니다.
    그런데 이 작업이 불필요해질때 사용하게 됩니다.
    virtual dom 에도 랜더링을 할지말지 결정할때 사용함
    true 와 false 를 반환합니다
  • getSnapshotBeforeUpdate
    랜더링한 후에 브라우저상에 적용하기 바로직전에 호출되는 함수입니다.
    랜더링을 하고 나서 업데이트 하기전에 스크롤의 위치나 해당 돔의 크기를 사전에 가져오고 싶을때 사용하게 됩니다.
  • componentDidUpdate
    component 가 업데이트 되었을때 호출되는 함수입니다.
    예를들어서
    state 가 바꼈을때 이전의 상태와 지금의 상태가 바꼈을때 사용을 합니다.
componentDidMount() {
	// 외부 라이브러리 연동: D3 , masonry , etc
  	// 컴포넌트에서 필요한 데이터 요청 : Ajax . GraphQL , etc
  	// DOM 에 관련된 작업 : 스크롤 설정 , 크기 읽어오기 등 
}

Unmounting

  • Component 가 사라질 시점
profile
꾸준함이란 ... ?

0개의 댓글