← 질문 목록
#107깊이 0
계산 단계와 반영 단계를 왜 나누는가?
계산을 중단하거나 다시 시작해도 화면이 중간 상태에 놓이지 않게 하려고 나눈다. DOM과 ref는 커밋에서 일관되게 반영한다.
- 상태 변경
그다음은 렌더 단계입니다. 새 트리와 변경점을 계산한다
렌더 단계그다음은 커밋 단계입니다. DOM과 ref를 반영한다
커밋 단계그다음은 브라우저입니다. 변경된 화면을 그린다
브라우저
렌더 단계는 컴포넌트를 호출해 결과를 계산한다. 우선순위에 따라 중단되거나 폐기될 수 있으므로 외부 부작용을 두면 안 된다.
커밋은 DOM 변경과 ref를 적용하며 중간에 쪼개지 않는다. useLayoutEffect는 페인트 전, useEffect는 대체로 페인트 뒤에 실행된다.
추천 꼬리질문
관련 질문
- 브라우저가 화면을 그리기까지 무슨 일이 일어나는가?프론트엔드브라우저가 화면을 그리는 전체 과정(Critical Rendering Path)을 알아야 계산과 반영 단계의 구분 이유를 이해할 수 있다.
- 변경점을 비교하면 언제 비용이 줄어드는가?프론트엔드계산과 반영을 나누어 변경점만 효율적으로 처리하려는 성능 최적화의 목적을 공유한다.
- 레이아웃 계산과 픽셀 갱신은 언제 생기는가?프론트엔드계산 단계(레이아웃)와 반영 단계(픽셀 갱신)라는 브라우저 렌더링 파이프라인의 단계적 처리 개념을 공유한다.
- 리팩토링과 기능 추가를 나눠서 하는 이유는 무엇인가?아키텍처 · 분산시스템
- 중간 연산을 바로 실행하지 않는 이유는?언어 · 런타임