[생활코딩] 1. Redux란?

    SMALL

    1. Redux란?

    • Redux: 자바스크립트로 만든 애플리케이션을 위한 예측가능한 상태의 저장소
    • 예측 가능한? => 눈에 보이지 않는 복잡성을 획기적으로 낮추어 코드의 결과를 예측 가능하게 만듦
    • 단 하나의 진실의 원천
      • 하나의 상태를 갖는다
      • 상태 = {} (객체)
      • 하나의 객체 안에 애플리케이션에 필요한 모든 데이터를 넣는다 -> 복잡성 낮추기 (중앙집중적 관리)
      • 단 하나의 state 유지 -> 복잡성 낮춤
    • 외부로부터 철저한 차단
      • 데이터 읽고 쓰기: 담당자(함수)만을 통해 가능
      • dispatcher, reducer 를 통해 데이터 수정
      • 데이터 가져가기: getState 함수를 통해서만 가능
      • 외부에서 데이터를 직접적으로 제어할 수 없도록 -> 예기치 않게 state 값이 바뀌는 문제를 사전에 차단 -> 애플리케이션을 예측 가능하게 만듦 
      • 데이터 변경 시, 각 부품에 해당하는 일만 수행하면 됨 -> 훨씬 더 적은 정신적 에너지 소모
    • UNDO와 REDO를 쉽게 수행
      • 각각의 state를 철저하게 통제 (독립된 상태 유지)
      • 데이터 생성시 원본을 복제, 복제된 데이터를 수정해 삽입
    • 현재 상태, 이전 상태까지 꼼꼼하게 레코딩 可 -> 문제해결의 용이성
    • 모듈 리로딩 가능: 코드를 작성하면, 코드가 자동으로 애플리케이션에 반영
    • 핫 모듈 리로딩: 애플리케이션은 refresh , 하지만 데이터는 그대로 남아있음. (다시 입력 할 필요 없이 개발환경 셋팅)

     

    출처: https://www.youtube.com/watch?v=Jr9i3Lgb5Qc&list=PLuHgQVnccGMB-iGMgONoRPArZfjRuRNVc

    728x90

    댓글