Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 숭실대
- Swift 기능
- react
- 제앱소
- 애플 디벨로퍼 아카데미 후기
- Apple Developer Academy @ POSTECH
- Swift 문법
- sqoop
- OS
- ObservedObject
- 데이터베이스
- global soop
- StateObject
- 앱 비교 프로젝트
- Swift 디자인패턴
- ObservableObject
- swift문법
- 애플 디벨로퍼 아카데미
- 네이버 치지직
- useReducer
- SWIFT
- 애플 디벨로퍼 아카데미 21주차 회고
- 치지직
- iOS 개발 오류
- 네이버 부스트캠프
- 애플 아카데미 후기
- 운영체제
- 소프트웨어분석및설계
- 데이터베이스 공부
- apple developer academy 후기
Archives
- Today
- Total
사과하는 제라스
Real DOM으로 다루면 느리다구요? Virtual DOM이 뭔데요?? 본문
목차
728x90
반응형
원래 Real DOM(Document Object Model)은 모든 화면을 새로 그려야 하기 때문에 느리다.
이런 단점을 보완하기 위해 React가 제안한 방식이 Virtual DOM이다!
이건 모든 걸 바꾸는게 아니라 현재 바꾸고자 하는 내용과 동일하게 현재의 상태를 동기화시키는 것으로 연산이 빠르고 모든 연산을 할 필요가 없다.
즉!!!! 바뀐 부분만 비교해서 그 부분만 렌더링하는 것이다!
왜 빨라지냐고??
Real DOM을 조작하는 것은 화면에 실제로 바로 그리기 때문에 느리지만...
Virtual DOM을 조작하는 것은 실제로 화면에 그리는 것이 아니기 때문!!
DOM을 조작하되 최소한으로 조작해서 작업을 처리하는 방식을 쓰면 개선이 되지...!!
-> Virtual DOM 방식을 사용하면 DOM 업데이트를 추상화하기 때문에(정확히는 Real DOM에 직접 접근하여 조작하는 대신, 이를 추상화한 Javascript 객체를 구성해서 사용함. 즉, Real DOM의 사본을 씀.) DOM 처리 횟수를 최소화하고 효율적으로 진행함.
진행 순서
1) 데이터 업데이트 시, 전체 UI를 Virtual DOM에 리렌더링함.
2) 이전 Virtual DOM에 있던 내용과 현재 내용을 비교함.
3) 바뀐 부분만 실제 DOM에 적용함.
728x90
반응형
'제라스가 React를 다루는 방법' 카테고리의 다른 글
.prittierrc에는 무엇을 쓸까? (0) | 2023.01.12 |
---|---|
리액트에서 성능 향상하기 - 리렌더링 줄이기! (0) | 2023.01.08 |
useReducer를 사용해보자! (0) | 2023.01.08 |
React 개발 시 단축키로 구조를 만들어보자 (0) | 2022.12.22 |