본문으로 건너뛰기

Rendering

React에서 렌더링이 의미하는 것

  • 클래스형 컴포넌트에서 render 메서드가 호출되는 것
  • 함수형 컴포넌트에서 함수 전체가 실행되는 것

React는 언제 리렌더링 될까?​

기본적으로 LifeCycle에 따라 자동적으로 리렌더링이 된다.

  1. state가 변경되었을 때
  2. props가 변경되었을 때
  3. 부모 컴포넌트가 리렌더링 되었을 때

가상 DOM과 실제 DOM의 리렌더링 차이 이해하기​

렌더링이 항상 UI 업데이트를 의미하는 것은 아니다. 렌더링이 일어나더라도 UI가 변경되지 않을 수도 있다. 가상 DOM에서 리렌더링이 일어나면 React에서 계산하여 실제 DOM 업데이트를 최적화하기 때문이다.

리렌더링을 실제로 확인하는 방법​

React DevTools로 가상 렌더링 확인하기​

reactDevTools

React DevTools > View settings 경로로 접근해서 Highlight updates when components render 항목을 체크하면 repaint 가 되는 부분을 확인할 수 있다.

rerender

Chrome DevTools로 실제 렌더링 확인하기​

ChromeDevTools

Chrome DevTools > More tools > Rendering > Paint flashing 경로로 접근해서 Paint flashing 항목을 체크하면 repaint 가 되는 부분을 확인할 수 있다.

paintFlashing

두 방법으로 리렌더링을 체크해보면 react의 리렌더링과 실제 DOM의 리렌더링이 다르다는 것을 알 수 있다.