처음 만난 리덕스 (Redux) 문서


2.6 2강 요약

  • Redux 구성 요소
    • Store
      • Redux의 데이터들을 저장하기 위한 저장소
    • State
      • Redux Store에 저장되어 있는 데이터
    • Action
      • Redux State에 변화를 주기 위한 행동을 나타내는 객체
    • Action Creator
      • Action 객체를 생성하는 역할을 하는 함수
    • Reducer
      • Action을 실제로 처리하며 Redux State에 변화를 주는 함수
  • Immutability (불변성)
    • State is read-only
      • Redux State 생성 후에는 값을 바꿀 수 없음.
    • Changes are made with pure functions
      • 입력으로 받은 이전 상태를 변경할 수 없음.
    • Redux Toolkit은 immutability를 지키기 위해 immer.js를 사용
  • 어떤 경우에 Redux를 사용해야 할까?
    • 하나의 상태를 여러 컴포넌트에서 접근해야 할 경우
    • 한 곳에서 상태들을 관리하고 싶을 경우
  • Redux vs Context API
    • Redux는 내부적으로 Context API를 사용하여 데이터를 전달
    • 차이점
      • Redux를 사용하면 redux-devtools 사용 가능
      • Context API는 특정 Context에 의존하는 컴포넌트들을 분리시킬 수 있음
      • Redux는 하나의 Store에 정해진 방법으로만 데이터를 관리하지만,
        Context API는 데이터를 관리하지 않으며, state를 전달하기 위한 통로의 역할만 함
  • 각각의 상황에 맞는 방법 선택하기
    • 규모 ⬆︎, 상태 ⬆︎ → Redux
    • 규모 ⬇︎, 상태 ⬇︎ → Context API

마지막 업데이트: 2023년 07월 14일 00시 00분

이 문서의 저작권은 이인제(소플)에 있습니다. 무단 전재와 무단 복제를 금합니다.