Redux는 자바스크립트 앱을 위한 예측 가능한 상태 컨테이너다.
앱의 상태는 단 하나의 스토어(store) 안의 객체 트리에 저장되며 무엇을 변경할 지 서술하는 객체인 액션(action)을 전달해 상태 트리를 변경 할 수 있다. 리듀서(reducer)함수를 통해 각각의 액션이 어떻게 상태를 변경할지 알려준다.
앱이 커지면 스토어는 하나인 대신 루트 리듀서를 쪼개 상태 트리의 각 부분을 독립적으로 연결하는 리듀서를 만든다.
Reducx 제작자의 강의 동영상 : 스파이더맨 닮은 dan 형님의 직강을 무료로 들을 수 있다!
The global state of your application is stored in an object tree within a single store.
저장소를 단 한 개만 사용한다.
The only way to change the state is to emit an action, an object describing what happened.
엄격한 통제 하에 액션 객체를 전달함으로써 상태를 변화시킨다. 이를 통해 디버깅이 한결 손쉬워진다.
To specify how the state tree is transformed by actions, you write pure reducers.
리듀선 함수는 이전 상태를 변경하는 대신 새로운 상태 객체를 생성해서 반환한다.
one-way data flow
Redux는 엄격한 단방향 데이터 흐름을 따라 전개된다. 위 그림의 흐름대로 Redux의 전개를 설명할 수 있다. 전체 흐름 이해를 위해 최대한 간결하게 표현해보았다.
🌞 유용한 사이트
- 리덕스 공식 사이트 .한글판
- 개발자 도구 redux-devtools : 크롬 익스텐션, 디버깅 툴
진고월드님 다음편은 언제 올라오나요