ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • LifeCycle
    React 2021. 10. 3. 23:31

    리액트의 컴포넌트는 각각 라이프사이클을 가진다.

    출처: 리액트 공식 홈페이지 v16.3

    위 그림과 같은 라이프사이클은 사실 클래스형 컴포넌트에만 해당된다.

    함수형 컴포넌트의 경우는 리액트 훅 기능이 생기면서 별도의 다이어그램으로 표기할 수 있다.

     

    <constructor>

    컴포넌트 생성자 함수.

    초기 state 값을 설정.

     

     

    <componentDidMount>

    렌더 후에 호출.

    일반적으로 fetch, axios 등을 통해 데이터를 받아오는데 사용.

     

     

    <getDerivedStateFromProps>

    16.3 버전 이전의 componentWillReceiveProps 의 대체 역할.

    props로 받아온 것을 state에 넣을 때 사용.

    여기서는 setState 가 아니라 return으로 사용해야함.

    컴포넌트의 첫 렌더링 전에도 호출되고, 리렌더링 전에도 매번 호출된다.

     

     

    <shouldComponentUpdate>

    컴포넌트 업데이트 직전에 호출되는 메서드.

    props나 state가 변경되었을때, 리렌더링 여부를 return 으로 정한다.

     

     

    <componentWillUpdate>

    shouldComponentUpdate가 불린 다음 순서.

    컴포넌트 업데이트 직전에 호출된다.

    주의할 점 - setState를 사용하면 무한루프가 발생.

     

     

    <componentDidUpdate>

    컴포넌트 업데이트 직후에 호출.

     

     

    <componentWillUnmount>

    컴포넌트가 삭제된 후 실행.

     

     

    *참고

    componentWillMount

    위 다이어그램에는 표시되어 있지 않지만, 

    렌더되기 직전에 호출되는 API로, 브라우저가 아닌 환경에서도 호출하는 용도로 사용했으나,

    componentDidMount에서 처리할 수 있다. 

    (혹시라도, 현업에서 만날 수 있기 때문에 알아는 두자)

     

     

    참고블로그

    https://velog.io/@st2702/React-Lifecycle-%EC%83%9D%EB%AA%85%EC%A3%BC%EA%B8%B0

     

    [React] Lifecycle 생명주기

    React lifecycle API 에 대해 알아보자

    velog.io

     

    'React' 카테고리의 다른 글

    WebPack  (0) 2021.11.25
    img src 태그 오류  (0) 2021.11.25
    React CSS 라이브러리  (0) 2021.10.10
    Hooks  (0) 2021.10.03
    0. 리액트를 시작하면서 배우고 있는 것들 01  (0) 2021.09.26
Designed by Tistory.