- 렌더링이란?
- 일반적인 렌더링 의미: 초기 입력을 받아 최종적으로 사용할 수 있는 결과물을 생성하는 과정
- 리액트에서 렌더링 의미: 이전 스냅샷과 최신 스냅샷의 차이를 찾아(리렌더링) + 차이가 존재하면 DOM을 업데이트(리페인팅)하는 프로세스
- 리렌더링은 리페인팅이 아닙니다.
- 리렌더링은 무엇을 변경해야 하는지 파악하는 React의 프로세스 중 하나입니다.
- 리페인팅은 DOM이 변경될 때마다 브라우저가 관련 픽셀을 다시 그리는 프로세스입니다.
- 즉, 리렌더링이 일어나도 스냅샷간의 차이가 없다면 DOM을 업데이트하지 않습니다.
- 리렌더링 !== 리페인팅
- 리액트는 아래의 과정으로 리렌더링을 수행합니다
- React는 렌더링이 될 때 스냅샷을 찍습니다.
- 그후 상태 변경등으로 인해 이전 스냅샷과 최신 스냅샷의 차이가 발생하면, 해당 차이를 찾아냅니다.(reconciliation)
- 만약 변경사항이 존재하면 일종의 커밋을 하게됩니다. (이전 스냅샷과 최신 스냅샷 일치시킴)
- 이를 DOM에 반영합니다. (리페인팅)
- 리액트에서 리렌더링은 언제 이루어질까?
- 모든 리렌더링은 상태가 변경될 때 시작되며, 컴포넌트가 리렌더링되는 트리거입니다.
- 상태가 변경될때, 해당 상태를 공유하고 있는 모든 컴포넌트들이 리렌더링됩니다.
- Props 변경에 의한 리렌더링
- 또한, 컴포넌트는 props가 변경될 때 리렌더링됩니다.
- 즉, 하나의 컴포넌트가 리렌더링될 때, 해당 컴포넌트의 모든 자식 컴포넌트들이 리렌더링됨을 의미합니다.
'OLD > React' 카테고리의 다른 글
React 19 문제점 (0) | 2024.06.26 |
---|---|
[React] React에서 이전 상태를 기반으로 한 상태 업데이트를 올바르게 하는 방법 (2) | 2024.06.04 |
[React 19] 2024년 5월 react 19 발표? (0) | 2024.02.18 |
React 개념 정리_01 - React 작동 원리 이해하기 (0) | 2023.10.19 |
[ React ] react-router loader vs react-query useQuery (0) | 2023.08.22 |