React에서 말하는 리렌더링, 브라우저 새로고침(세로고침), 그리고 라우팅 페이지 전환의 차이
맞아요! 이 부분을 헷갈리는 분이 많아요. 😄
React에서 말하는 리렌더링, 브라우저 새로고침(세로고침), 그리고 라우팅 페이지 전환은 서로 다릅니다.
1️⃣ 리렌더링 (Re-rendering)
- 정의: React 컴포넌트가 상태(state)나 props가 바뀔 때 UI를 다시 그리는 과정
- 브라우저 전체 새로고침 X
- 필요한 부분만 Virtual DOM 비교 후 실제 DOM에 업데이트
- 즉, div 하나만 바뀌어도 React는 최소한만 갱신함
예시
function Counter() {
const [count, setCount] = React.useState(0);
return (
<div>
<p>{count}</p> {/* 이 부분만 업데이트 */}
<button onClick={() => setCount(count + 1)}>+</button>
</div>
);
}
- 버튼 클릭 →
count상태 변경 →<p>{count}</p>만 변경 - 페이지 전체 새로고침 X
2️⃣ 페이지 새로고침 (Browser Refresh)
- 정의: 브라우저 자체 F5, Ctrl+R 같은 새로고침
- 특징:
- React가 아니라 브라우저가 전체 HTML/CSS/JS를 다시 불러옴
- 상태 초기화 → React
useState도 초기값으로 돌아감
- 느리고, SPA에서는 최소화
3️⃣ 라우팅(Routing)
- 정의: SPA에서 페이지 전환처럼 보이게 하지만 실제로는 컴포넌트 교체
- React Router 같은 라이브러리를 사용
- 특징:
- 브라우저 전체 새로고침 없이 URL 변경
- 새로운 페이지 컴포넌트 렌더링
- 기존 상태 유지 가능 (예: 상위 컴포넌트 state)
🔹 차이 요약
| 구분 | 정의 | 전체 페이지 영향 | 특징 |
|---|---|---|---|
| 리렌더링 | 상태/props 변경 → 컴포넌트 UI 업데이트 | X | Virtual DOM 기반 최소 변경 |
| 새로고침 | 브라우저 F5 | O | 모든 JS/CSS 다시 로드, 상태 초기화 |
| 라우팅 | URL 변경 → 다른 페이지 컴포넌트 렌더 | X (SPA) | URL은 바뀌지만 브라우저 새로고침 없음, 필요한 컴포넌트만 렌더 |
💡 한 줄 요약
리렌더링 = React 내부 UI 갱신
세로침 = 브라우저 전체 새로고침
라우팅 = 페이지 전환처럼 보이는 컴포넌트 교체
원하면 제가 그림으로 리렌더링 vs 새로고침 vs 라우팅 비교해서 보여드릴 수도 있어요.
한눈에 보면 SPA 동작 방식이 직관적으로 이해됩니다.
그림으로 보여드릴까요?
댓글
댓글 쓰기