학습 공간 개념 · 판단 · 실험

Fanta Lab

질문 109 · 실전 면접 답변

Redux의 세 가지 원칙은 무엇인가요?

이렇게 답해 보세요 (핵심 답변)

Redux의 세 가지 원칙은 첫째 전역 상태를 하나의 store 객체 트리에 보관하는 '단일 진실 공급원(Single source of truth)', 둘째 상태를 직접 수정하지 않고 오직 액션(Action)을 보내서만 변경을 요청하는 '읽기 전용 상태(State is read-only)', 셋째 이전 상태와 액션을 받아 다음 상태를 반환하는 '순수 함수(Reducer)를 통한 변경'입니다. 이 세 원칙이 맞물려 상태 변화의 원인을 명확히 추적하고 테스트하기 쉬운 구조를 만듭니다. 참고로 Redux Toolkit의 createSlice에서는 state.value += 1처럼 작성하더라도 내부의 Immer가 이를 감지해 안전한 불변 복사본을 반환하므로 세 원칙을 그대로 지킵니다.

함께 설명하면 좋은 이유 (꼬리질문 대비)

  1. 순수 reducer는 동일한 상태와 액션을 넣으면 항상 같은 다음 상태를 반환하므로 UI 없이도 비즈니스 로직을 빠르게 단위 테스트할 수 있습니다.
  2. 단일 store 원칙은 전역 공유 상태를 한곳에서 관리하라는 의미이지, 모든 로컬 폼 입력까지 전역 store에 강제로 넣으라는 뜻은 아닙니다.

면접에서 자주 하는 실수

reducer 함수 내부에서 직접 API 호출을 수행하거나 Date.now(), Math.random() 같은 비결정적 값에 의존해 상태를 계산하면 순수성이 깨집니다.

원리와 예제까지 읽기

공식 참고 자료

질문 목록 출처 ↗ · 원본 109번을 바탕으로 질문과 답변을 새로 정리했습니다.

← React