Virtual DOM
Virtual DOM
메모리에 돔이 가상으로 저장 되어있는걸 말하고
상태가 변경되면 이전에 저장된 돔트리와 비교해서 실제 업뎃되어야 하는 부분만 모아서 다시 렌더링 하기 때문에 성능에 좋다
DOM 노드는 10개의 변화가 생기면 DOM 노드가 변경되고 그 이후의 과정(리플로우 리페인트) 10번 일어나서 성능저하의 원인이 된다. 가상돔은 변경된 여러 부분을 체크하고 브라우저 DOM을 변경하기 때문에 단 한번의 렌더링 과정만 거치게 된다. 즉, DOM 변화를 최소화 시켜주는 역할을 함
렌더링 되는 순서
처음 렌더링시 돔트리 생성하고 저장됨
데이터 상태가 변경되서 노드가 변경이 되야한다면
이전에 저장된 가상 돔트리와 비교함
차이가 있는 부분을 확인하고 변경해야 할 부분만 업데이트 후
브라우져의 돔트리를 변경하고 화면에 보여줌
추가
만약 개발자 도구 창 > html 엘레먼트 요소들이 모두 마구 마구 바뀌면 잘못된것
사용자 스무스한 빠른 업데이트 : 1초에 60개의 프레임이 화면에 보여줘야지 빠르고 스무스하게 느껴짐
Last updated