FEInterview Prep

Tistory

상태 기반 렌더링 vs 시그널 기반 렌더링

상태 기반 렌더링은 React처럼 상태(state)가 변경될 때 가상 DOM diffing을 통해 필요한 부분만 업데이트하는 방식이고, 시그널 기반 렌더링은 Solid.js, Vue 3, Angular Signals처럼 반응형 원시값(signal)의 변화를 구독자가 즉시 추적하여 필요한 DOM만 정밀하게 업데이트하는 방식이다. 시그널 기반 렌더링은 가상 DOM 오버헤드 없이 세밀한 반응성을 제공하여 성능 면에서 유리하지만, 두 방식 모두 적절한 사용 사례가 있다.

2025-11-07·5분 읽기
ReactJavaScript
원문 보기 ↗

핵심 요약

이 아티클은 React 컴포넌트와 렌더링 흐름를 실무 판단 기준으로 다시 정렬해 주는 읽기 자료입니다. 상태 기반 렌더링은 React처럼 상태(state)가 변경될 때 가상 DOM diffing을 통해 필요한 부분만 업데이트하는 방식이고, 시그널 기반 렌더링은 Solid.js, Vue 3, Angular Signals처럼 반응형 원시값(signal)의 변화를 구독자가 즉시 추적하여 필요한 DOM만 정밀하게 업데이트하는 방식이다. 시그널 기반 렌더링은 가상 DOM 오버헤드 없이 세밀한 반응성을 제공하여 성능 면에서 유리하지만, 두 방식 모두 적절한 사용 사례가 있다.

이 아티클은 React 컴포넌트와 렌더링 흐름를 면접에서 바로 꺼낼 수 있는 답변 프레임으로 접어 두는 메모처럼 읽으면 좋습니다.

React 컴포넌트와 렌더링 흐름를 설명할 때 정의만 말하면 답변이 얕아지기 쉽습니다. React의 상태 기반 모델은 컴포넌트 트리 전체를 재렌더링하고 가상 DOM diffing으로 변경점을 찾는다 실무 판단 근거와 면접 답변의 밀도를 동시에 끌어올릴 수 있습니다.

학습 포인트

면접 답변으로 연결할 학습 포인트입니다.

React의 상태 기반 모델은 컴포넌트 트리 전체를

React의 상태 기반 모델은 컴포넌트 트리 전체를 재렌더링하고 가상 DOM diffing으로 변경점을 찾는다 이 포인트를 알고 있으면 비슷한 상황에서 왜 이 접근을 선택하는지까지 설명할 수 있습니다.

ReactDOMdiffing상태
자주 하는 오해

React의 상태 기반 모델은 컴포넌트 트리 전체를를 개념으로만 기억하고 맥락 없이 적용하면 React의 상태 기반 모델은 컴포넌트 트리 전체를 재렌더링하고 가상 DOM diffing으로 변경점을 찾는다 패턴 이름만 외우고 적용 조건을 구분하지 않으면 비슷한 문제에 같은 해법을 남용하게 됩니다.

시그널은 값과 그 값을 구독하는 구독자

시그널은 값과 그 값을 구독하는 구독자(effect)를 직접 연결하여 변화가 생긴 정확한 DOM 노드만 업데이트한다 이 포인트를 알고 있으면 비슷한 상황에서 왜 이 접근을 선택하는지까지 설명할 수 있습니다.

effectDOM시그널은값과
자주 하는 오해

시그널은 값과 그 값을 구독하는 구독자를 개념으로만 기억하고 맥락 없이 적용하면 시그널은 값과 그 값을 구독하는 구독자(effect)를 직접 연결하여 변화가 생긴 정확한 DOM 노드만 업데이트한다 패턴 이름만 외우고 적용 조건을 구분하지 않으면 비슷한 문제에 같은 해법을 남용하게 됩니다.

시그널 기반 방식은 가상 DOM을 사용하지 않아 메

시그널 기반 방식은 가상 DOM을 사용하지 않아 메모리와 CPU 오버헤드가 적고 세밀한 반응성(Fine-grained Reactivity)을 가진다 이 포인트를 알고 있으면 비슷한 상황에서 왜 이 접근을 선택하는지까지 설명할 수 있습니다.

DOMCPUFine-grainedReactivity
자주 하는 오해

시그널 기반 방식은 가상 DOM을 사용하지 않아 메를 개념으로만 기억하고 맥락 없이 적용하면 시그널 기반 방식은 가상 DOM을 사용하지 않아 메모리와 CPU 오버헤드가 적고 세밀한 반응성(Fine-grained Reactivity)을 가진다 패턴 이름만 외우고 적용 조건을 구분하지 않으면 비슷한 문제에 같은 해법을 남용하게 됩니다.

읽는 순서

  1. 1이론

    "상태 기반 렌더링 vs 시그널 기반 렌더링"의 멘탈 모델과 요약을 먼저 읽고, React 컴포넌트와 렌더링 흐름와 관련된 핵심 용어 3개를 적어보세요.

  2. 2구현

    상태 기반 렌더링 vs 시그널 기반 렌더링에서 다룬 아이디어를 작은 예제로 직접 구현하거나 기존 코드에 대입해 보면서 적용 조건을 확인하세요.

  3. 3실무

    현재 프로젝트에서 React 컴포넌트와 렌더링 흐름와 연결되는 화면이나 코드 리뷰 사례를 찾아, 어디서 같은 판단이 필요한지 정리해보세요.

  4. 4설명

    동료에게 "React의 가상 DOM diffing 방식과 Solid.js의 시그널 기반 방식의 차이를 성능 관점에서 설명해 주세요."에 대한 답을 5분 안에 설명해보세요. 막히는 부분이 아직 이해가 얕은 구간입니다.

면접 연결 질문

hardReact의 가상 DOM diffing 방식과 Solid.js의 시그널 기반 방식의 차이를 성능 관점에서 설명해 주세요.
힌트

[감점 답변] 용어 정의만 반복하거나 "상태 기반 렌더링 vs 시그널 기반 렌더링에서 그렇게 하더라" 수준으로 답하면 감점 포인트입니다. 면접관은 개념을 외운 사람보다 판단 근거를 말하는 사람을 찾습니다. [좋은 답변] 가상 DOM은 컴포넌트 트리 전체를 비교하는 비용이 있지만, 시그널은 변화를 직접 추적하여 정확한 노드만 업데이트합니다. 가능하면 선택 이유, 트레이드오프, 실제로 문제가 되는 상황까지 함께 연결하세요.

mediumReact에서 불필요한 재렌더링을 최소화하는 방법들을 설명해 주세요.
힌트

[감점 답변] 용어 정의만 반복하거나 "상태 기반 렌더링 vs 시그널 기반 렌더링에서 그렇게 하더라" 수준으로 답하면 감점 포인트입니다. 면접관은 개념을 외운 사람보다 판단 근거를 말하는 사람을 찾습니다. [좋은 답변] React.memo, useMemo, useCallback, 상태 분리, Context 분리, React Compiler 등을 언급하면 좋습니다. 가능하면 선택 이유, 트레이드오프, 실제로 문제가 되는 상황까지 함께 연결하세요.

mediumVue 3의 Composition API와 React Hooks는 반응성을 어떻게 다르게 구현하나요?
힌트

[감점 답변] 용어 정의만 반복하거나 "상태 기반 렌더링 vs 시그널 기반 렌더링에서 그렇게 하더라" 수준으로 답하면 감점 포인트입니다. 면접관은 개념을 외운 사람보다 판단 근거를 말하는 사람을 찾습니다. [좋은 답변] Vue는 ref/reactive로 프록시 기반 반응성을 구현하고, React는 setState 호출 시 컴포넌트를 재스케줄링합니다. 가능하면 선택 이유, 트레이드오프, 실제로 문제가 되는 상황까지 함께 연결하세요.

자기 점검

"React의 상태 기반 모델은 컴포넌트 트리 전체를"가 왜 중요한지 스크롤 올리지 않고 한 문장으로 설명해보세요.
ReactDOMdiffing상태
자주 하는 오해

"React의 상태 기반 모델은 컴포넌트 트리 전체를"를 기능 목록으로만 외우는 것. 실제로는 왜 이 접근이 필요한지와 적용 조건까지 설명해야 합니다.

상태 기반 렌더링 vs 시그널 기반 렌더링에서 강조한 판단 기준을 실무 예시와 함께 설명해보세요.
effectDOM시그널은값과
자주 하는 오해

좋은 사례만 기억하고 실패 조건을 빼먹는 것. 실제 면접에서는 언제 위험해지는지까지 함께 말해야 합니다.