javascript에 의존, immutability
개념 필요
Redux
→ 예측 가능한 상태 저장소 → 낮은 복잡성
Single Source of Truth
→ 하나의 상태( 객체 )를 갖는다 ! … 한 곳에 중앙 집중적으로 관리
데이터를 외부로부터 차단, 담당자( 함수 ; dispatcher & reducer )를 통해서만 상호작용
state 값이 바뀔 때마다 해당 state를 사용하는 app에게 그 사실을 전달
Undo
& Redo
→ 각각의 state를 변경할 때 복제 후 변경, 다시 원본을 복제본으로 …
→ redux 사용 시 현재 뿐만 아니라 과거의 state를 담아두고 사용할 수 있음
hot module reloading
→ 앱은 리프레시 되지만, 데이터는 그대로 !
리덕스는 추상적 …
리덕스 핵심 = store
; 정보가 state로 저장되는 곳 ( 은행 ) → state는 직접 접근 x
**reducer
함수를만들어 공급 → Redux.createStore(reducer);
**
reducer는 state 를 입력 받고 action을 참조해 새로운 state 값을 만들어 리턴해주는 가공자
**render
라는 함수는 리덕스와는 상관 없이, UI를 구현함**
직원 ( getState
같은 함수들 )에게 render 협력
→ render 함수를 subscribe
해서 state 값 바뀔 때마다 ui 변경 가능… store.subscribe(render)
ex) submit 이벤트가 발생 → store의 **dispatch
**에게 **action
**이라는 create
type의 객체를 하나 전송