컴포넌트와 props가 어떤 과정을 거쳐 화면에 나타나는지 설명하기 위해
라이프 사이클과 DOM, properties를 간단히 알아보겠습니다.
State and Lifcyle https://ko.reactjs.org/docs/state-and-lifecycle.html
Component의 lifecycle이란 컴포넌트가 생성, 수정, 제거를 거쳐서
눈에 보이게 된 순간부터 사라지는 순간까지 과정을 말합니다.
DOM이 Update/Re-rendering 되는 경우 4가지
new props: 새로운 property가 추가 되었을 떄 ex) 새 게시물
setState(): State의 값이 바뀌었을 때 ex) 게시물 수정
부모 컴포넌트가 Update(리랜더링)되었을 때
forceUpdate(): 강제로 업데이트하였을 때
// 하나씩
<Card name="홍길동" />
// 객체
const person = {name: '홍길동', age: '20'}
<Card user={{person}} />
DOM과 가상 DOM을 같은 값을 가지고 있음
전체 UI를 가상DOM에 리랜더링 합니다.
이전 가상 DOM의 내용과 현재 가상 DOM의 내용을 비교
바뀐 부분만 실제 DOM에 적용한다.
돔을 건드리는 횟수가 줄어들어, 연산을 빠르게 할 수 있다.
사이트 구조에 따라서 성능이 좋아지거나, 오히려 나빠질 수 있다.
전체 그리기 ↔ 작게 여러번 그리기