Virtual DOM
가상돔과 실제돔
Feb 23, 2024
가상 DOM(Virtual DOM)
- 리액트의 핵심 개념 중 하나로 가상 DOM은 실제 DOM의 가벼운 복사본이며 React 자바스크립트 라이브러리에서 실행됨
- 가상 DOM을 사용하여 이전 DOM과 비교하여 변경된 부분을 찾아내어 실제 DOM에 적용함으로써 불필요한 DOM 조작을 최소화하여 성능을 향상 시킴
업데이트 순서
- 상태(state)나 속성(props)이 변경되면 새로운 Virtual DOM 생성
- 이전 Virtual DOM과 현재 Virtual DOM을 비교하여 변경된 부분 식별
- 변경된 부분을 실제 DOM에 적용
* DOM이란 DOM(Document Object Model) 문서 객체 모델로 웹페이지의 구조화된 표현으로 트리 구조로 저장됨 Javascript와 같은 스크립팅 언어를 사용해 DOM에 접근하고 조작할 수 있음 DOM을 조작할 때마다 엔진이 웹 페이지를 새로 그리기 때문에 업데이트가 너무 잦으면 성능이 저하될 수 있음
* 배치 처리(batching)
업데이트 시 상태나 속성 변경 등의 작업을 모아서 일괄절으로 처리하는 형식의 배치 처리 방식이 사용됨
- 이벤트 핸들러 호출: 여러 이벤트 핸들러가 동시에 호출될 때, 해당 이벤트에 대한 변경사항들을 모아서 한 번에 처리(한 번의 클릭으로 여러 상태가 변경될 때)
- 상태(State) 및 속성(Props) 변경: 여러 상태나 속성이 동시에 변경될 때, 이에 대한 업데이트를 한 번에 처리
- 비동기 작업 완료: 비동기 작업이 완료되었을 때 발생하는 상태 변경 사항들을 한 번에 처리
- 다음 렌더링 프레임 요청 전: 다음 렌더링 프레임이 요청되기 전에 발생한 변경사항들을 모아서 처리. 브라우저가 렌더링을 시작하기 전에 변경사항들을 적용함으로써 성능을 향상시킴
Go toor?