
가상 dom과 실제 dom을 스냅샷 단위로 비교해 변경사항을 수집하는 js객체.
리액트 컴포넌트에 대한 정보를 가진 작은 단위의 객체
컴포넌트 최초 마운트 시점
1개 react element당 1개 파이버 객체 생성
react element
브라우저 DOM 엘리먼트가 아닌, JSX로 선언된 표현식이 치환된 객체
- React DOM은 React 엘리먼트와 일치하도록 DOM을 업데이트한다
- native DOM에 바로 렌더링할 수 없고 루트를 통해 렌더링해야 함
더블 버퍼링
다음 작업을 백그라운드에서 실행하여 완료된 후 교체하는 것
-> 실행과정을 보여주지 않는다!
Ref와 Dom
React에서 native DOM API를 직접 컨트롤해야 하는 경우, 해당 부분을 가능한 react의 선언형 api(useRef 등)로 조작해야 한다!
-> 리액트의 내부 api를 사용한 게 아니라 native DOM을 직접 조작하면, 이 변경 사항을 React가 유지할 수 없다!