리액트 애플리케이션 트리 안에 있는 모든 컴포넌트들이 현재 자신들이 가지고 있는 props와 state 값을 기반으로 어떻게 UI를 구성하고 이를 바탕으로 어떤 DOM 결과를 브라우저에 제공할 것인지 계산하는 일련의 과정을 뜻한다.
간단하게 말하면, UI가 어떻게 생겼으면 좋겠는지 설명하도록 요청하는 프로세스 입니다.
render() 함수를 실행하게 되고, 함수형 컴포넌트의 경우에는 FunctionComponent() 그 자체를 호출하고, 그 결과물을 저장한다.React.createElement()를 호출하는 구문으로 변환된다. 이때, createElement()는 자바스크립트 객체를 반환한다.React 렌더링 과정은 크게 렌더 단계(Render Phase)와 커밋 단계(Commit Phase)로 나눌 수 있다.
![]()
type, props, key 중 하나라도 변경된 것이 있다면 변경이 필요한 컴포넌트로 체크된다.브라우저 렌더링이란, HTML과 CSS리소스를 기반으로 웹페이지에 필요한 UI를 그려내는 과정
여기서 React의 렌더링이 일어난다고 해서 무조건 DOM 업데이트가 일어나는 것은 아닌 것이 포인트다. 렌더링을 수행하여 변경사항을 감지했으나 변경사항이 없다면, 커밋 단계는 생략될 수 있다. ❗ 즉, React의 렌더링은 가시적인 변경이 일어나지 않아도 발생할 수 있다.