📚 Reference
📜 Chapter
‣
React
Recoil
‣
‣
Angular.js, React - 차이점
- Angular은 MVC 패턴을 사용하는 이 패턴은 모델과 뷰의 양방향 데이터 전달로 인해 상태 관리가 어려운 단점이 있다.
- Facebook 팀에는 이러한 단점을 해결하고자 데이터 흐름이 단방향이 FLUX 패턴을 고안해냈다.
Flux
- Flux
- MVC 패턴의 복잡한 데이터 흐름 문제를 해결하는 개발 패턴 → Undirectional Data Flow
- 원래 React 프로젝트의 대부분은 아래의 MVC 아키텍처 이라는 구조로 설계하고 있었다.
- Controller가 여러 Model을 제어하고 있는 구조였다. 하지만, 프로젝트의 규모가 커지면서 상태도 많아졌기 때문에 Model과 View가 양방향으로 영향을 미치는 이 구조의 관리가 어려워졌다.
- 특히 규모가 큰 Facebook에서 이러한 패턴으로는 단순한 상태의 변화도 예측 가능한 범위를 벗어나 관리가 힘들다고 판단해 새로운 아키텍처를 고안해냈다.
- 그래서 Facebook이 고안한 Flux 아키텍처가 많이 사용되고 있다.
- 그림과 같이 데이터의 흐름은 무조건 단방향으로 흐르게 된다.
- dispatcher에서 action을 통해 store로, store에서 view로 또 다시 view 에서 action을 통해 dispatcher로 흐르게 되는 구조이다.
- 데이터의 흐름이 여러 갈래로 나뉘지 않고 단방향으로만 처리한다.