TIL #36 - Lifecycle & 조건부 렌더링

Sarang Lee·2021년 2월 28일
0

React

목록 보기
9/9
post-thumbnail

컴포넌트를 이용해 필요한 부분만 새로 렌더하다보면 순서에 맞지 않는 코드로 인해 Lifecycle 관련 에러가 나온다.

기본적으로 컴퓨터는 위에서 아래로 코드를 읽어나가기 때문에 컴포넌트의 Lifecycle을 늘 신경쓰고 때에 따라 조건부 렌더링을 설정해주어야 한다.

1. Lifecycle

Lifecycle 순서

  1. constructor

  2. render

  3. componentDidMount
    fetch 완료

  4. render
    setState

  5. componentDidUpdate
    setState로 인한 컴포넌트 업데이트 발생

  6. componentWillUnmount


부모의 render 안에 있는 자식 컴포넌트는 내부에서 부모보다 한 단계 더 먼저

부모와 자식 컴포넌트에서 일어나는 Lifecycle 순서

  1. 부모 constructor

  2. 부모 render

    1. 자식 constructor
    2. 자식 render
    3. 자식 componentDidMount - componentDidMount 이후에 render 없이 부모 컴포넌트로 이동

  3. 부모 componentDidMount (fetch 완료)
    setState 발생 -> 업데이트 발생 -> 다시 render

  4. 부모 render

    4. 자식 render
    5. 자식 componentDidUpdate - componentDidMount는 최초 렌더 시 한번만 실행되기 때문에 componentDidUpdate로 발생


5. 부모 componentDidUpdate

2. 조건부 렌더링

특정 조건에 해당하는 경우에만 렌더하는 것이 바로 조건부 렌더링이다. return문 안에서 JSX에 인라인으로 사용 가능한 여러 방법이 있으므로 함께 소개해보려 한다.

  1. 논리연산자 A && B
    A가 true일 경우 B를 렌더한다.

  2. 삼항연산자 A ? B : C
    A가 true일 경우 B, 아닐 경우 C를 렌더한다.


참고 자료

React Lifecycle Methods Diagram
React 공식 문서 - State와 생명주기

profile
UX에 관심 많은 개발 초보 Front-end Developer

0개의 댓글