수업 소개

리덕스의 특징

javascript에 의존, immutability 개념 필요

Redux → 예측 가능한 상태 저장소 → 낮은 복잡성

  1. Single Source of Truth → 하나의 상태( 객체 )를 갖는다 ! … 한 곳에 중앙 집중적으로 관리

  2. 데이터를 외부로부터 차단, 담당자( 함수 ; dispatcher & reducer )를 통해서만 상호작용

  3. state 값이 바뀔 때마다 해당 state를 사용하는 app에게 그 사실을 전달

  4. Undo & Redo → 각각의 state를 변경할 때 복제 후 변경, 다시 원본을 복제본으로 …

    → redux 사용 시 현재 뿐만 아니라 과거의 state를 담아두고 사용할 수 있음

  5. hot module reloading → 앱은 리프레시 되지만, 데이터는 그대로 !

리덕스 여행의 지도

Untitled

리덕스는 추상적 …

리덕스 핵심 = store ; 정보가 state로 저장되는 곳 ( 은행 ) → state는 직접 접근 x

  1. **reducer 함수를만들어 공급 → Redux.createStore(reducer);**

    reducer는 state 를 입력 받고 action을 참조해 새로운 state 값을 만들어 리턴해주는 가공자

  2. **render라는 함수는 리덕스와는 상관 없이, UI를 구현함**

  3. 직원 ( getState같은 함수들 )에게 render 협력

→ render 함수를 subscribe해서 state 값 바뀔 때마다 ui 변경 가능… store.subscribe(render)

ex) submit 이벤트가 발생 → store의 **dispatch**에게 **action**이라는 create type의 객체를 하나 전송