Flux와 Redux, Reactive
Flux
Flux는 페이스북에서 MVC의 문제를 해결할 목적으로 고안한 애플리케이션 아키텍처.
- 앱의 상태값들이 store에 유지됨.
- 이벤트가 발생하면 dispatcher를 통해 action이 상태를 변화시킴.
- 컴포넌트는 상태 변경을 listening 하고 있다가 변경되면 리랜더링
핵심 요소
- Dispatcher
- Stores
- Views (React 컴포넌트)
단방향 데이터 흐름
MVC
와 다르게 단방향
으로 데이터가 흐름 (일방적으로 한쪽으로만 흐른다)
React view에서 사용자가 상호작용을 할 때, 그 view는 중앙의 dispatcher를 통해 action을 전파하게 된다.
어플리케이션의 데이터와 비지니스 로직을 가지고 있는 store는 action이 전파되면 이 action에 영향이 있는 모든 view를 갱신한다.
이 방식은 특히 React의 선언형 프로그래밍 스타일 즉, view가 어떤 방식으로 갱신해야 되는지 일일이 작성하지 않고서도 데이터를 변경할 수 있는 형태에서 편리하다.

view는 사용자의 상호작용에 응답하기 위해 새로운 action을 만들어 시스템에 전파한다.
모든 데이터는 중앙 허브인 dispatcher를 통해 흐름