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 동작 방식이 직관적으로 이해됩니다.

그림으로 보여드릴까요?

댓글

가장 많이 본 글