인프런 커뮤니티 질문&답변

김학준님의 프로필 이미지

작성한 질문수

[2024] 한입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지

5.7) State와 Props

자식 컴포넌트 리렌더링

해결된 질문

24.08.28 17:38 작성

·

38

0

자식 컴포넌트 Bulb와 Counter를 해당 강의에서 분리했는데 다음과 같은 의문이 생겼습니다. 이렇게 분리했더라도 결국 Counter의 state가 변경되면서 Counter가 리렌더링 되는 걸로 알고 있습니다. 이러한 경우 부모 컴포넌트인 App도 리렌더링되면서 Bulb 컴포넌트도 리렌더링되는 것 아닌가요?

답변 1

0

이정환 Winterlood님의 프로필 이미지
이정환 Winterlood
지식공유자

2024. 08. 30. 10:40

안녕하세요 이정환입니다

결론부터 말씀드리자면 자식 컴포넌트가 리렌더링 된다고 해서 부모 컴포넌트가 리렌더링 되지는 않습니다. 더 구체적으로 말씀드리자면 Counter 컴포넌트는 App 컴포넌트의 자식 컴포넌트이므로 Counter 컴포넌트의 State가 변경되었다고 해서 App 컴포넌트가 리렌더링 되지는 않습니다.

그렇다면 컴포넌트는 정확히 언제 리렌더링 되는것이냐! 궁금하실 수 있는데요 다음 그림은 우리 강의에서 안내드린 컴포넌트가 리렌더링되는 3가지 상황입니다.

image.png
  1. 자신이 관리하는 State가 변경되었을 때

  2. 자신이 받는 Props가 변경되었을 때

  3. 부모 컴포넌트의 리렌더링 되었을 때

현재 진도에서는 위 상황에 해당되지 않는다면 컴포넌트는 리렌더링 되지 않습니다. 감사합니다 😃