목차
- 웹 브라우저 동작 방식
- 업데이트 작업 과정
- React의 렌더링 프로세스
- React 렌더링 프로세스 상세 과정
1. 웹 브라우저 동작 방식
- Critical Rendering Path 라는 과정을 통해 브라우저가 페이지를 화면에 렌더링을 한다
- 1단계 : HTML, CSS를 브라우저가 해석하기 편한 방식으로 변환
- 2단계 : HTML과 CSS를 합쳐 Render Tree 생성
- 3단계 : Render Tree를 기반으로 실제 웹 페이지에 요소들의 배치를 결정
- 4단계 : 실제 요소들을 화면에 그려내는 과정
1) 업데이트 작업 과정
- JS가 DOM을 수정하면서 업데이트가 발생
- DOM이 수정되면 Critical Rendering Path가 다시 실행
- DOM의 수정 횟수만큼 Layout과 Painting 수정도 진행되며 브라우저에 렉이 걸리거나 튕기는 현상이 발생
- 때문에 DOM의 수정을 최소화 하기 위해 JS가 진행하는 수정들을 한 번에 모아 DOM을 한 번 수정하는 방식으로 진행
2. React의 렌더링 프로세스
- 웹 브라우저의 업데이트 과정에서 요구되는 'JS의 수정사항을 한 번에 모아 DOM을 한 번 수정하는 작업'이 React에서는 자동화가 된다
- 1단계 (Render Phase) : React Component가 렌더링 해야하는 UI를 Virtual DOM이라는 객체값으로 변환하는 과정
- 2단계 (Commit Phase) : Virtual DOM을 Actual DOM에 반영
1) React 렌더링 프로세스 상세 과정
- Component 수정
- Component 수정으로 인해 React Element가 변경
- 변경된 React Element를 Virtual DOM에서 이전 데이터들과 비교
- 바뀐 부분을 Actual DOM으로 넘겨 DOM 수정을 1회만 진행 (DOM 수정 횟수를 최소화하여 브라우저의 빠른 속도를 유지)
'IT 언어 > React' 카테고리의 다른 글
[React] 6. props (map 사용방법) (0) | 2024.05.06 |
---|---|
[React] 5. Router (0) | 2024.05.06 |
[React] 3. useState (일반 변수와 useState의 차이) (0) | 2024.05.04 |
[React] 2. JSX 문법 (0) | 2024.05.04 |
[React] 1. 구성과 Component (0) | 2024.05.03 |